数据库并发控制技术十呢
2021-09-06 来源:开平租房网
3.锁定类型比较
点击“开始镶嵌” 锁定类型
描述
允许操作
禁止操作
意向共享表锁:Intensive Share Table Locks (IS)
该封锁表明该事务封锁了表上的一些元组并试图修改它们 (但是还未做修改,其它事务可读这些元组,但是不能修改这些元组 )。意向共享表封锁是限制最少的锁,提供了表上最大的并发度。
其他事务对该表的并发查询、插入、更新、删除或在该表上进行封锁,其他事务可以同时上意向共享锁(IS)、意向排他锁 (IX)、共享锁 (S)。
其它事务以排它方式 (X)存取该表。
意向排它表锁:Intensive Exclusive Table Locks (IX)
该锁表明该事务已对表的元组进行了一次或多次修改 (其它事务不能访问这些元组 )。行排它表封锁较行共享表封锁稍严格。
其它事务并行查询、插入、更新、删除或封锁该表上行,允许多个事务在同一表上获得意向排它( IX)和意向共享 (IS)表锁。
其它事务对表进行共享或者排它读写封锁: S, X。
共享表锁:Share Table Locks (S)
当一事务在一表上持有共享表封锁时,允许其他事务在表上作查询,但是不允许其他事务修改该表。
其它事务在该表上作查询,但是不允许作修改,且允许多个事务在同一表上并发地持有共享表封锁。
IX,X
排它表锁: Exclusive Table Locks (X)
该封锁是表封锁中最严格的方式,只允许持有封锁的事务可对该表进行修改。
不允许任何操作。
其它事务对表执行任何 DML语句,即不能插入、修改和删除该表中的行,封锁该表中的行或以任何方式封锁表。
共享行锁(S)
该行正被读取
排它行锁(X)
该行正被修改
L语句锁定分析
DM对各种 DDL和GRANT 等非DML 语句都分解为增、删、改。下表为DM对各种DML语句和查询语句的封锁策略。
表:SQL语句封锁策略
SQL语句
表锁模式
行锁模式
脏读
读提交
重复读
可串行化
脏读
读提交
重复读
可串行化
SELECT…FROM TABLE…
IS
IS
IS
IS
-
S*
S
Range
INSERT INTO TABLE …
IX
IX
IX
X
-
X
X
-
UPDATE TABLE…
IX
IX
IX
X
-
X
X
-
DELETE FROM TABLE…
IX
IX
IX
X
-
X
X
-
注:S* 表示瞬时锁,在语句结束后释放;Range表示键范围锁。
上表只是系统在一般情况下的处理,当系统检测到有锁升级的可能,则会升级锁。一般而言,IS锁升级为 S锁,IX锁升级为 X锁,同时,不再进行行封锁。
江中复方草珊瑚含片乌海治白癜风哪里最好
天津专治白癜风医院
-
- 上一篇
- 数据库并发控制技术六牛
-
- 下一篇
- 数据库并发控制技术十一的