多选题目: V4 中,以下关于表锁的说法,哪些是正确的?
A. DML 语句会隐式加 RX 锁。
B. DDL 语句会加相应的表锁。
C. 普通 SELECT 查询会加 RS 锁。
D. SELECT FOR UPDATE 会隐式加 RX 锁。
多选题目: V4 中,以下关于表锁的说法,哪些是正确的?
A. DML 语句会隐式加 RX 锁。
B. DDL 语句会加相应的表锁。
C. 普通 SELECT 查询会加 RS 锁。
D. SELECT FOR UPDATE 会隐式加 RX 锁。
正确答案是 A、B、D 。
根据 OceanBase 的官方文档:
UPDATE 、INSERT 、DELETE 以及 SELECT FOR UPDATE )时,数据库会自动对表加上 ROW EXCLUSIVE (RX)锁 ,这是一种隐式的加锁行为。SELECT 查询基于 MVCC(多版本并发控制)机制,不会加任何锁,这样可以确保“读不阻塞写”,因此选项 C 的说法是不正确的。