<p><strong>当执行语句insert into table …;时,数据库会自动为其获取哪类TM锁?</strong><br /> A RS(SS)<br /> B SRX(SSX)<br /> C S<br /> D X<br /> E RX(SX)</p>
讯享网
在 Oracle 数据库中,当执行 INSERT 语句时,数据库会自动为表获取特定类型的表级锁(TM锁)。这些锁用于确保数据的一致性和完整性。具体来说,INSERT 语句会获取哪种类型的锁取决于操作的性质和数据库的内部机制。
表级锁类型
1. RS(Row Share)锁:
- 也称为 SS(Shared)锁。
- 允许多个会话在同一表上并发执行 SELECT、INSERT、UPDATE 和 DELETE 操作。
- 用于保护表免受其他会话的独占锁。
2. SRX(Share Row Exclusive)锁:
- 也称为 SSX(Share Subexclusive)锁。
- 允许其他会话执行 SELECT 操作,但不允许其他会话执行 INSERT、UPDATE 或 DELETE 操作。
- 通常用于 SELECT FOR UPDATE 语句。
3. S(Share)锁:
- 允许多个会话在同一表上并发执行 SELECT 操作。
- 阻止其他会话获取独占锁。
4. X(Exclusive)锁:
- 独占锁,不允许其他会话在同一表上执行任何 DML 操作(SELECT 除外)。
- 通常用于 ALTER TABLE、DROP TABLE 等DDL操作。
5. RX(Row Exclusive)锁:
- 也称为 SX(Subexclusive)锁。
- 允许多个会话在同一表上并发执行 INSERT、UPDATE 和 DELETE 操作,但阻止其他会话获取独占锁。
- 通常用于 INSERT、UPDATE 和 DELETE 操作。
INSERT 语句的锁类型
当执行 INSERT 语句时,Oracle 数据库会自动为表获取 RX(Row Exclusive)锁。这种锁允许其他会话在同一表上并发执行 INSERT、UPDATE 和 DELETE 操作,但阻止其他会话获取独占锁。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/147056.html