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 事务操作的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 即时聊天小说游戏,即时聊天软件的使用总结
- 拍摄过往的人做什么,拍摄的过去式英语怎么读
- 家里猫跟路由器怎么连,家用猫和路由器连接wifi
- c语言指针作为函数的参数 c语言指针函数调用例子
- 电视怎么下载游戏,手机游戏投屏到电视
- 如何打造一个网络营销,如何开展一个网络营销活动
- redis的内存淘汰机智,redis内存管理机制
- MySQL权限怎么看 mysql8查看用户权限
- 电脑上怎么看固态硬盘,电脑上怎么看固态硬盘多大