【发布时间】:2021-08-03 22:48:42
【问题描述】:
如果我们在CREATE INDEX 语句中指定ONLINE,则在创建索引期间不会锁定表。如果没有 ONLINE 关键字,就不可能对表执行 DML 操作。但是 SELECT 语句是否可以同时出现在表上?在阅读了description of CREATE INDEX statement 之后,我仍然不清楚。
我问这个,因为我想知道它是否类似于PostgreSQL或SQL Server:
- 在 PostgreSQL 中,无法在表上写入,但仍然可以读取表 - 请参阅 the CREATE INDEX doc > CONCURRENTLY 参数。
- 在 SQL Server 中,无法对表进行写入,此外,如果我们创建聚集索引,也无法进行读取 - 请参阅 the CREATE INDEX doc > ONLINE 参数。
【问题讨论】:
-
是的。 Oracle 中几乎没有 ddl 块读取基础表。