分歧性视图是啥时刻建设的

  • 电脑网络维修
  • 2024-11-15

在上篇文章中触及到了一个小小的疑问,就是数据库事务的分歧性视图是啥时刻建设的?

这个疑问还比拟关键,假设没搞分明,或许会影响咱们做试验的结果,进而得出失误的论断,所以当天松哥和大家便捷聊一聊这个话题。

1. 失误演示

先给大家来一个失误演示。

咱们关上两个会话窗口,自动状况下隔离级别是可重复读,咱们来看下:

首先在 A 会话中检查 user 表,检查成功后开启事务:

可以看到 age 是 101。

接上去在 B 会话中修正 age:

可以看到,B 会话曾经修正成功。

接上去回到 A 会话查问记载:

可以看到,A 会话的记载也变了。完整测试流程如下:

说好的可重复读呢?

按理说,可重复读就是别的事务对数据的操作不影响事务,然而上方这个案例仿佛和咱们了解的可重复读有出入。

2. 剖析

不知道小同伴们能否还记得可重复读的特点:

用户在另外一个事务中口头同条 SELECT 语句数次,结果总是相反的。

从这个角度来说,第一小节的案例仿佛也没有疑问,由于咱们在 A 会话中口头 SELECT 语句屡次,查到的结果也都是相反的,age 都是 102。

然而咱们纳闷的是明明 B 会话的事务后开启的,然而咱们却在 A 会话中读取到了 B 的修正,这仿佛不应该。

这里就触及到一个疑问,事务的分歧性视图是何时建设的?

理想上,咱们口头的 begin 语句并不是一个事务真正的终点。口头完 begin 之后,接上去口头的第一句 SQL,事务才真正启动。

咱们稍微修正一下第一小节的案例:

在 A 会话中,事务开启之后,立马先口头一条 SELECT 语句,而后再去 B 会话中做修正,修正成功后再回到 A 会话继续查问,此时发现 B 中的修正对A 并无法见,这个结果也合乎用户在另外一个事务中口头同条 SELECT 语句数次,结果总是相反的。

假设咱们想要口头完 begin 之后,就立马开启事务,那么可以经过如下模式来口头:

这个 SQL 口头完之后,事务立马就启动了。

接上去,回到第一小节的案例,咱们修正一下事务启动的命令:

此时,A 会话中事务的查问就看不见 B 中的修正了。

3.小结

好啦,一个小小的案例,宿愿小同伴们在做试验的时刻不要出错。本文触及到一个概念叫做分歧性视图,假设大家不相熟可以参考上篇文章。

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/9251.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号