首页 > 其他 > 详细

2.4.4 案例理解4种事务的隔离级别

时间:2020-09-13 17:24:22      阅读:83      评论:0      收藏:0      [点我收藏+]

2.4.4 通过案例理解4种事务的隔离级别

MySQL数据库管理·实战案例7

需求

1 分析当前数据库的事务隔离级别

2 对四种事务隔离级别进行切换,并对比其效果,最终使用哪种隔离级别。

# 设置隔离级别
mysql root@localhost:(none)> set session tx_isolation=‘READ-UNCOMMITTED‘;
Query OK, 0 rows affected
Time: 0.001s
# 查看隔离级别
mysql root@localhost:(none)> select @@tx_isolation;
+------------------+
| @@tx_isolation   |
+------------------+
| READ-UNCOMMITTED |
+------------------+

读未提交 Read uncommited

两个事务

A事务进行写入,未提交

B事务,此时就可以读到A写入的数据(脏数据)

当A进行回滚操作后,B此时也读不到

技术分享图片

技术分享图片

技术分享图片

技术分享图片

读已提交

两个事务,

只有当B事务写入,并提交后,

A事务才能读到B插入的新数据

技术分享图片

技术分享图片

可重复读

两个事务,

B事务进行了写入,并提交,A事务此时仍旧是读到之前的数据,

只有A事务也提交或退出后,才可以读到B插入的新数据。

技术分享图片

技术分享图片

在左边的事务里面永远都只能看到一条数据

在左边提交本次会话后才可以,看到右边新增的数据。

技术分享图片

串行化

两个事务,

互相隔离,可以并发读,但是不能读写。

技术分享图片

技术分享图片

左边锁了

串行话,会产生锁。写没有完成,不能读

技术分享图片

技术分享图片

两个事务可以并发读,但是不能并发读写

2.4.4 案例理解4种事务的隔离级别

原文:https://www.cnblogs.com/wenyule/p/13661954.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!