加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

面试问烂的MySQL四种隔离级别,看完吊打面试官!

发布时间:2019-04-28 09:08:06 所属栏目:编程 来源:佚名
导读:什么是事宜 事宜是应用措施中一系列精密的操纵,全部操纵必需乐成完成,不然在每个操纵中所作的全部变动城市被除掉。也就是事宜具有原子性,一个事宜中的一系列的操纵要么所有乐成,要么一个都不做。 事宜的竣事有两种,当事宜中的以是步调所有乐成执行时

B:回滚事宜

A:再次读数据,发明数据变回初始状态

颠末上面的尝试可以得出结论,事宜B更新了一笔记录,可是没有提交,此事势务A可以查询出未提交记录。造成脏读征象。未提交读是最低的断绝级别。

将客户端A的事宜断绝级别配置为read committed(已提交读)

A:启动事宜,此时数据为初始状态

B:启动事宜,更新数据,但不提交

A:再次读数据,发明数据未被修改

B:提交事宜

A:再次读取数据,发明数据已产生变革,声名B提交的修改被事宜中的A读到了,这就是所谓的“不行一再读”

颠末上面的尝试可以得出结论,已提交读断绝级别办理了脏读的题目,可是呈现了不行一再读的题目,即事宜A在两次查询的数据纷歧致,由于在两次查询之间事宜B更新了一条数据。已提交读只应承读取已提交的记录,但不要求可一再读。

将A的断绝级别配置为repeatable read(可一再读)

A:启动事宜,此时数据为初始状态

B:启动事宜,更新数据,但不提交

A:再次读取数据,发明数据未被修改

B:提交事宜

A:再次读取数据,发明数据依然未产生变革,这声名这次可以一再读了

B:插入一条新的数据,并提交

A:再次读取数据,发明数据依然未产生变革,固然可以一再读了,可是却发明读的不是最新数据,这就是所谓的“幻读”

A:提交本次事宜,再次读取数据,发明读取正常了

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读