ama*_*eur 6 oracle indexing insert
可以在表上创建索引吗,让我们说一下什么时候有一些任务同时在表中创建一些新行?会不会有锁的问题???
例如:反馈表 --> 在(名称,反馈规则)上创建索引,同时有任何插入发生,这不好吗??如果是什么。
我假设,当插入发生时,Oracle 不会使用这个索引,稍后会使用它。
通常,创建索引需要锁定表,因此所有 DML 操作都会阻塞;如果在您启动索引创建时表上有活动事务,您可能会收到错误“ORA-00054:资源繁忙并获取指定的 NOWAIT 或超时已过期”。
如果表很小,这可能不是什么大问题 - 交易只会被阻塞片刻。但是如果它非常大,那么在表正在使用时尝试创建索引将是一个坏主意。
但是,如果您使用企业版,则可以将ONLINE
关键字添加到您的CREATE INDEX
语句中,这将允许在构建索引时对表进行事务处理。它仍然可能导致性能下降。