当前位置 : 主页 > 手机开发 > harmonyos >

SQLServer锁和事务隔离级别

来源:互联网 收集:自由互联 发布时间:2023-10-08
隔离隔离级别 脏读 不可重复读 幻象 说明 未提交读(read uncommitted) 是 是 是 如果其他事务更新,不管是否提交,立即执行 提交读(read committed默认) 否 是 是 读取提交过的数据。如果其他


隔离隔离级别

脏读

不可重复读

幻象

说明

未提交读(read uncommitted)

如果其他事务更新,不管是否提交,立即执行

提交读(read committed默认)

读取提交过的数据。如果其他事务更新没提交,则等待

可重复读(repeatable read)

查询期间,不允许其他事务update

可串行读(serializable)

查询期间,不允许其他事务insert或delete

请求模式

IS

S

U

IX

SIX

X

意向共享(IS)

共享(S)

更新(U)

意向排它(IX)

与意向排它共享(SIX)

排它(X)

共享锁:为了共享读(select),如果存在事务(一个或多个)拥有对表中数据(关于锁数据的多少,视锁的粒度而定)的共享锁,不允许对锁定的数据进行更新(update)

排他锁:只能有一个,其他的事务就不能对锁定的数据获取共享锁和排他锁(即排他锁与共享锁不能兼容,更多信息请查看锁兼容性),在此特别强调一下 锁定的数据。

锁与隔离级别

SQLServer锁和事务隔离级别_共享锁

SQLServer锁和事务隔离级别_delete_02

SQLServer锁和事务隔离级别_delete_03


在SELECT语句中使用XLOCK并不能阻止读。这是因为SQL SERVER在读提交隔离级别上有一种特殊的优化,即检查行是否已被修改,如果未被修改则忽略XLOCK。因为在读提交隔离级别上这确实是可以接受的。

http://support.microsoft.com/kb/324417


【文章转自荷兰服务器 http://www.558idc.com/helan.html 欢迎留下您的宝贵建议】
上一篇:根据时间服务器校正系统时间-对时
下一篇:没有了
网友评论