Oracleの既存のテーブルにインデックスを作成しても安全ですか?
このような:
CREATE INDEX table_sample_ix03
ON table_sample
(
col4,
col22
)
TABLESPACE data
STORAGE
(
INITIAL 10M NEXT 2M
MINEXTENTS 1 MAXEXTENTS 100
PCTINCREASE 0
)
;
DMLクエリがテーブルで実行されているときにインデックスを作成する場合は、ONLINE句をお勧めします。 http://docs.Oracle.com/cd/B19306_01/server.102/b14200/statements_5010.htm を参照してください
例:
CREATE INDEX "MYINDEX" ON "MYTABLE" ("MYCOLUMN") ONLINE;
はい。ただし、可能であれば、誰もテーブルを更新していないときに実行する必要があります。パフォーマンスの点で問題があるためです(とにかく安全に実行しても、データが破損することはありません)。
はい。なんでだろう?
コマンドを発行した直後に、考えられるパフォーマンスの問題を考えることができます。テーブルが非常に大きい場合、インデックス作成にはしばらく時間がかかりますが、それ以外の場合は問題ありません。