事务理解问题
Topic source着实没有理解到,我也试过在 4.5(4 和 5 中间一步) 步查询一次,确实读不到 A 更新但未提交的数据。
所以理解不了下面这两句话中说的,居然会出现 4.5 读两次会不一样,而且只读一次是正确做法?
> 也有可能读两次两次不一样。
> 所以正确写法就是只读一次,不要再去读了。
uncommitted:未提交
committed:提交
read uncommitted 隔离级别下,一个事务可以读到另一个事务更新数据后未提交的数据
read committed 隔离级别下,一个事务在另一个事务更新数据后,不能读取另一个事务更新数据后 **未提交 **的数据(或者说想读取更新后的数据,必须在提交事务后;在提交事务前,只能读取到更新前的数据)
为什么不在4.5步的时候查询,其实就是为了告诉里面这个隔离等级中,b只能查询到已经提交过的数据,没提交的是查不到的。同时廖老师也说了b是不知道a的存在的,可能只是恰好在查询的时候,a在更新。READ COMMITTED的翻译也就是读提交过的数据。
- 1
来日_方
可以理解成Read Committed隔离级别下,一个事务只能查询到别的事务cimmit过的更新吗?如果是这样的话,例子里事务A第4,5步中,事务B再查询一次是不是更好一点。