在oracle中的现有表上创建索引是否安全?
像这样:
CREATE INDEX table_sample_ix03
ON table_sample
(
col4,
col22
)
TABLESPACE data
STORAGE
(
INITIAL 10M NEXT 2M
MINEXTENTS 1 MAXEXTENTS 100
PCTINCREASE 0
)
;
答案 0 :(得分:15)
当您在表上运行DML查询时创建索引时,建议使用ONLINE子句。见http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5010.htm
示例:
CREATE INDEX "MYINDEX" ON "MYTABLE" ("MYCOLUMN") ONLINE;
答案 1 :(得分:9)
是。但是如果可能的话,你应该在没有人更新表的情况下这样做,因为它们会受到性能的影响(无论如何都可以安全地执行它,不会有数据损坏)。
答案 2 :(得分:1)
是。为什么不呢?
我只能在发出命令后才能想到可能存在的性能问题。如果表非常大,索引可能需要一些时间,但除此之外,它应该没问题。