首页 >> 租房知识

数据库并发控制技术十呢

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锁,同时,不再进行行封锁。

江中复方草珊瑚含片
乌海治白癜风哪里最好
天津专治白癜风医院