在现有表Oracle上创建索引

时间:2011-08-10 10:19:39

标签: oracle indexing

在oracle中的现有表上创建索引是否安全?

像这样:

CREATE INDEX table_sample_ix03
      ON table_sample
(
  col4,
  col22
)
TABLESPACE data
STORAGE
(
  INITIAL        10M    NEXT          2M
  MINEXTENTS      1     MAXEXTENTS  100
  PCTINCREASE     0
)
;

3 个答案:

答案 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)

是。为什么不呢?

我只能在发出命令后才能想到可能存在的性能问题。如果表非常大,索引可能需要一些时间,但除此之外,它应该没问题。

相关问题