`
aben_liu
  • 浏览: 26577 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

test11_2

 
阅读更多

2,不可重复读。
在同一个事务中,再次读取数据时【就是你的select操作】,所读取的数据,和第1次读取的数据,不一样了。就是不可重复读。
举个例子:
 事务1:查询有双人床房间。99号房间,有双人床。
 事务2:将99号房间,改成单人床房间。
 事务1:再次执行查询,请求所有双人床房间列表,99号房间不再列表中了。也就是说,
               事务1,可以看到其他事务所做的修改。
在不可重复读里面,可以看到其他事务所做的修改,而导致2次的查询结果不再一样了。
这里的修改,是提交过的。也可以是没有提交的,这种情况同时也是脏读。
如果,数据库系统的隔离级别。允许,不可重复读。那么你启动一个事务,并做一个select查询操作。
查询到的数据,就有可能,和你第2次,3次...n次,查询到的数据不一样。一般情况下,你只会做一次,select
查询,并以这一次的查询数据,作为后续计算的基础。因为允许出现,不可重复读。那么任何
时候,查询到的数据,都有可能被其他事务更新,查询的结果将是不确定的。
注:如果允许,不可重复读,你的查询结果,将是不确定的。一个不确定的结果,你能容忍吗?

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics