sql server 并发控制简单介绍

并发控制概述

丢失修改(lost update)

    当事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1修改被丢失。

不可重复读(non-repeatable read)

    事务T1读取数据后,事务T2执行了更新操作,使T1无法再现前一次读取结果。具体包括三种情况:
1.事务T1读取某一数据后,事务T2对其进行了修改,当事务T1再次读该数据时,得到与之前不同的值。(在一个窗口中修改了表中的某个数据后,另一个窗口中的值也改变了)
2.当事务T1按一定条件读取某些数据后,事务T2删除了其中的部分记录,当T1再次按相同条件读取时,某些数据消失了。
3.当事务T1按照以一定条件读取某些数据后,事务T2插入了一些记录,当T1再次按照相同条件读取时,发现多了一些数据。

读“脏”数据(dirty read)(一窗口修改了数据后并执行,二窗口读到了修改后的值,此时一窗口修改事务被撤销,二窗口仍读到的是更新后的值)

事务T1修改某一数据并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销了,这时被T1修改过的数据恢复了原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据.
注:产生数据不一致的主要原因是并发操作破坏了事务的隔离性

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值