并发事务,锁,事务隔离性

并发事务,锁,事务隔离性

并发事务可能引起的三个问题:
1,丢失更新
事务t1:R(A)5,W(A)6,     ,R(A)7?
事务t2:            W(A)7

2,读脏数据
事务t1:R(A)5,W(A)6,      W(A)7
事务t2:            R(A)6?


3,读值不可重复
事务t1:R(A)5,     ,R(A)6?
事务t2:      W(A)6

锁:
Select:共享锁。
Insert,Delete:独占锁。
Update:更新锁。


事务隔离性:
Read Uncommitted读未提交
这个是想怎么读就怎么读,会读到脏数据。
Read Commiteed读提交
直到其它事务提交数据,才开始度数据,不会读到脏数据,但会有丢失更新和读值不可重复的问题。sqlserver默认。
Read Repeatable可重复读
无论共享锁和独占锁,直到事务完成才释放。解决了读值不可重复的问题和丢失更新的问题。
posted @ 2011-10-29 11:15  草珊瑚  阅读(267)  评论(0)    收藏  举报