为啥一个事务能读取到其他事务修改后未提交的数据( 二 )
心痛,你问之前不好找个翻译工具嘛,还是我审题不清?
Read Ucommitted ,读不到还叫啥Read Ucommitted。
------------------
只有事务commit后才会更新到数据库。
没错啊,commit是对事务(Database Transaction) 而言的。
-------
为什么A还是能读取B修改但未提交的数据呢?没有提交的数据不是没有更新到数据库嘛,那为什么A还是能读到修改后的数据呢?
代码块里部分是原答案,脑抽写错了。
没有加写锁才能脏读。 加没加读锁只是涉及到写要不要等的问题,属于幻想读。 “因为没有给READ加锁,所以A可以读到B修改的数据,未提交只是对于B在执行的事务而言,不是对数据库而言。”---------难道是读取的缓存中数据或其他策略?
这里的策略是事务隔离级别,也就是你设置的Read Ucommitted。 是不是读取数据库缓存是另外的故事。
---------如果这样,那么commit的作用又是什么呢?commit的作用难道不是把缓存/内存中的数据更新/同步到数据库吗?
commit的作用,你还是好好再去看看书。 后面的问题自然就有解答了。
【为啥一个事务能读取到其他事务修改后未提交的数据】 不要满足于我告诉你的,commit是对事务而言。
-------------------
我也不知道为啥有人问:
“设置了Read Uncommitted 之后,为什么一个事务能读取到其他事务修改后未提交(也就是Uncommitted )的数据?”
的时候,我这个答案就被题主认为是“故意显示博学”了。
好,我错了, 我是自大狂。 你开心就好。
推荐阅读
- 同比■同比增长7.1%!2021年的第一个节你花了多少钱?
- “他是我第一个会说普通话的老师”:一对师生折射青海山村蝶变
- 有必要重新开个C店吗
- 为啥看到书柜上的藏书会有心旷神怡的感觉
- 大学再有三个月就结束了,没学到知识,参加一个软件测试培训机构好吗
- 为啥知乎上普便有一种【我在北上广深打工,所以拥有更好的视野】这样的错觉
- 为啥工商银行的用户体验如此之差
- 汽车|长安UNI-K又将开创一个新的"引力"纪元?
- 汽车|看了中消协4S店服务测评调查结果,终于知道法系车为啥卖不好了
- 你为啥从窝窝商城离职?
