Создать индекс по существующей таблице Oracle - PullRequest
14 голосов
/ 10 августа 2011

Безопасно ли создавать индекс для существующей таблицы в 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 ]

15 голосов
/ 14 октября 2013

Предложение ONLINE рекомендуется при создании индекса во время выполнения запросов DML к таблице.См. http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5010.htm

Пример:

CREATE  INDEX "MYINDEX" ON "MYTABLE" ("MYCOLUMN")  ONLINE;
9 голосов
/ 10 августа 2011

Да.Но если это возможно, вы должны делать это, пока никто не обновляет таблицу, потому что это может повлиять на производительность (это все равно безопасно, в любом случае, повреждение данных не будет).

1 голос
/ 10 августа 2011

Да.Почему бы и нет?

Я могу думать о возможных проблемах с производительностью только после выполнения команды.Если таблица очень большая, индексация может занять некоторое время, но в остальном все должно быть в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...