问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

解释什么是隔离级别,以db2为例

发布网友 发布时间:2022-05-01 00:08

我来回答

2个回答

懂视网 时间:2022-05-01 04:30


  如果使用这种隔离级,在一个事务中所有被读取过的行上都会被加上NS锁,直到该事务被提交或回滚,行上的锁才会被释放。这样可以保证在一个事务中即使多次读取同一行,得到的值不会改变。

  但其他事务可以插入,可以防止db2定义的不可重复读,但有幻读问题。即如果使用这种隔离级,在一个事务中,如果使用同样的搜索标准重新打开已被处理过的游标,则结果集可能改变。(可能会增加某些行,这些行被称为幻影行(Phantom))。这是因为RS隔离级不能阻止通过插入或更新操作在结果集中加入新行。

  个人笔记:

  ? 根据实际测试情况,RS模式下:查询完毕以后,满足条件的结果集中的记录被锁定,不满足条件的不被锁定。

  ? 可以对不满足条件的记录更新,也可以插入新的记录。其他人可以查询满足已经锁定的记录,但不可以更新。

重复读(RR-Repeat Read)
  如果使用这种隔离级,在一个事务中所有被读取过的行上都会被加上S锁,知道该事务被提交或回滚,行上的锁才会被释放。这样可以保证在一个事务中即使多次读取同一行,得到的值不会改变。

  另外,在同一事务中如果以同样的搜索标准重新打开已被处理过的游标,得到的结果集不会改变。重复读相对于读可靠性而言,加锁的范围更大。

  解决幻读。锁定读事务以任何方式引用的所有行,整个表加S锁。相当于serializable读写用锁互斥  

  对于读可靠性,应用程序只对符合要求的所有行加锁,而对于重复读,应用程序将对所有被扫描过的行都加锁。例如,如果一个应用程序对一个表中的 10000行数据进行扫描,最终找到了100条符合搜索条件的结果行。如果该应用程序使用的是读可靠性隔离级,应用程序将只对这符合条件的100行加锁;如果该应用程序使用的是重复读隔离级,应用程序将对被扫描过的10000行都加锁。

  个人笔记

  ? 根据实际测试情况,RR模式下:查询完毕以后,不可以对不满足条件的进行更新,也不可以插入新记录。可能原因是:如果允许别人更新记录或者插入新记录的话,则可能造成原来结果集的破坏,重新读的时候和以前不同。

  ? select for update with rr/rs 是可以用来实现记录锁。是一种特殊情况。即便是RR,仍然可以对其他记录操作。

游标可靠性(CS-Cursor Stability)
  如果使用这种隔离级,在一个事务中,结果集中只有正在被读取的那一行(游标指向的行)将被加上NS锁,其他未被处理的行上不被加锁。这种隔离级只能保证正在被处理的行的值不会被其他并发的程序所改变。该隔离级是DB2缺省的隔离级。防止脏读。其他事务不能更新/删除游标当前所引用的行。可能出现db2定义的不可重复读和幻读。

  个人笔记

  仅仅在游标在该行的时候锁定,这是一种非常弱的隔离状态。

未提交读(UR-Uncommitted Read)
  如果使用这种隔离级,对于只读操作,不加行锁。典型的只读操作包括:

  ? SELECT语句的结果集只读(比如语句中包括ORDER BY子句);

  定义游标是指明起为FOR FETCH ONLY。

  该隔离级可以改善应用程序的性能,同时可以最大程度的允许并发。但是,应用程序的数据完整性将受到威胁。如果需要读取未提交的数据,该隔离级是唯一选择。

  个人笔记

  读的时候完全不受限制,对于同一行记录的完整性也无法保证。

  总结

  以上我们所提的隔离级的加锁范围和持续时间都是针对于读操作而言的。

  对于更改操作,被修改的行上会被加上X锁,不论使用何种隔离级,X锁直到提交或回滚之后才会被释放。

DB2之隔离级别

标签:

热心网友 时间:2022-05-01 01:38

网上有很多文章,说下自己的理解。
使用不同的锁行为方式,控制appl连接并发操作(事物),得到期望的结果集(脏读,重复读,幻象读)。

随便搜了一个文章,想了解细节可参考

http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1107db2isolationlevel/
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
悲观的意思是什么悲观是什么意思 ...坐立不安的。还总想挠挠手呀、胳膊什么的。这是怎么回事啊?是一种... ...胳膊肘麻,有时会麻到感觉大拇指根部疼,食指也有点... ...入睡感觉左胳膊从手腕到肩膀酥溜溜的酸,睁开眼又好了,什么原因... 胳膊上麻溜溜的 像是有小疙瘩 还很痒 有点硬 少量蔗糖,食盐,食油,食醋分别倒入一定量水中,并用筷子不断搅拌,观察... 将食盐 蔗糖 泥土 植物油与水混合 英文会计的provision对应中文会计的哪个词啊? 双人旁一个直一个心念什么,什么意思 白瓷有隙是成语吗 网上有哪些是货到付款的??? 本科毕业论文用去年别的院校同一个专业的,知网查重会查出来吗?急, 请问 大学毕业论文 我用上一届 别的学校的能查重吗 高校本科论文是怎么查重的如果用上届用过的勘察报告或者更改上届学长的会不会被查到 本科毕业设计查重时数据库有往届的本科毕业生的论文吗 本科毕业设计论文查重。老师给了前几届的毕业设计,抄了一些会被查出来吗?知网查重会被查出来吗? 我想知道本科生抄了上届本科生的毕业论文,查重的时候能被查出来吗? 如果毕业论文参考了上一届学长学姐的论文,论文查重的时候会被查出来吗? 同届本科生之间的论文会相互查重吗,我和另一位同专业不同班的同学是 不怕狼心如铁小说txt全集免费下载 求此言情名~~ 一台苹果手机,可以登陆三个吗?想把工作号和私人号分开 什么电视剧啊名字 我需要小说 不怕狼心如铁txt全集下载 万绮雯的资料哪个知道啊?说下啊!谢谢了! 唐宫美人天下 青鸾是什么人 晋江总攻是男的么?就是那个写《雅仆》《狼心如铁》的,有人知道么?谢谢 谁知狼心坚如铁,空余遗恨过江东,何当共剪西窗烛,却话巴山夜雨时 90年代的香港电视剧,一个女人替丈夫顶罪,而后被丈夫抛弃,后复仇,叫什么名字 联想电脑W10耳机插进去听不到声音 为什么更新win10后耳机没声音 点淘可以代付款吗 点淘砍价完剩的钱可以付款吗 苹果7嘿siri无法唤醒 基础养老金怎么算 沈阳故宫哪里有卖名信片的? 沈阳什么地方卖古生物鱼化石? 沈阳哪里有卖奥运纪念品的 沈阳市的羽毛画哪里有卖的?多少钱一副? 情侣纪念日,我们需要有意义的纪念品 沈阳造币厂24K镀金生肖贺卡(内有24K镀金生肖一枚,及一元纸币一张)有没有收藏价值 银行卡已经两三年没用了现在可以申请补办吗?以前的流水明细还存在吗? 银行卡差不多7年多没用了。现在拿身份证去银行补卡可以吗? 银行卡外地的,几年无用无效了,到当地去补办可以吗? EP垃圾分类是合法的吗? 垃圾分类ep币登陆时忘记密码了该怎么继续操作? 什么是垃圾分类?怎么做? 为什么做的戚风蛋糕倒扣了还会塌陷 为什么戚风蛋糕一倒扣就会掉下来,不扒在模具上,表面也有点干,软的部分都留在模具上了