mysql长事务怎么 mysql 事务操作( 二 )


mysql update bank set money=money+500 where name='shaotuo';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql update bank set moey=money-500 where name='laohu';
ERROR 1054 (42S22): Unknown column 'moey' in 'field list'
mysql rollback; //只要有一个不成功 , 执行rollback操作
Query OK, 0 rows affected (0.01 sec)
mysql select*from bank;
+---------+--------+
| name | money |
+---------+--------+
| shaotuo | 1000.0 |
| laohu | 5000.0 |
+---------+--------+
------成功之后 进行commit操作
mysql start transaction; //开启事务
Query OK, 0 rows affected (0.00 sec)
mysql update bank set money=money+500 where name='shaotuo';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql update bank set money=money-500 where name='laohu';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql commit; //两个都成功后执行commit(只要不执行commit,sql语句不会对真实的数据库造成影响)
Query OK, 0 rows affected (0.05 sec)
mysql select*from bank;
+---------+--------+
| name | money |
+---------+--------+
| shaotuo | 1500.0 |
| laohu | 4500.0 |
+---------+--------+
MySQL中的大表和大事务千万行数据,表数据巨大 。
1、慢查询的产生:很难在一定时间内过滤出所需要的数据 。
2、建立索引需要更长的时间 。
Mysql版本5.5 建立索引会锁表
Mysql版本=5.5 谁让不会锁表,但会引起主从延迟 。
3、修改表结构需要长时间锁定表
4、会造成长时间的主从延迟 。
5、影响正常的数据操作 。
1、分库分表把一张大表分为多个小表
难点:
分表主键的选择
分表后跨分区数据 的查询和统计
2、大表的历史数据归档
好处:
减少对前后端业务的影响 。
难点:
归档时间点的选择
如何进行归档操作 。
运行时间比较长 , 操作的数据比较多的事务 。
锁定太多的数据,造成大量的阻塞和锁超时 。
回滚时间比较长
执行时间比较长,容易造成主从延迟 。
避免一次处理太多的数据 。
移除不必要在事务中操作的select操作
关于mysql长事务怎么和mysql 事务操作的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读