OceanBase 中哪些操作会加表锁?(多选)
A. DML 语句
B. DDL 语句
C. SELECT … FOR UPDATE
D. 普通 SELECT 只读查询
正确选项:B、C 。
- A 不选 :DML 的 INSERT/UPDATE/DELETE 主要加的是行锁 TR ,同时在分区/表级别会产生分区级表锁 TM ,但它不是典型意义上的“表锁”操作。
- B 选 :DDL 语句,尤其是 Offline DDL,会触发表级表锁 TM,用于保护表元数据和数据分片。
-
C 选 :
SELECT … FOR UPDATE会对命中的行加排他锁,属于显式加锁操作。 - D 不选 :普通 SELECT 是快照读,不加锁。