Создание проблемы производительности индекса - PullRequest
0 голосов
/ 02 ноября 2011

Мне нужно создать индекс для таблицы, которая содержит миллиард записей.Сначала я подумал создать индекс с использованием опции PARALLEL 8 , поскольку сервер работает с 8 ядрами.

Теперь вопрос заключается в том, что при создании индекса первичный ключ создается с использованием этого индекса.Могу ли я добавить NOPARALLEL вариант?

Я пробовал это утверждение

ALTER INDEX PK_TABLE_NAME_ NOPARALLEL;

Но оно не работает.кто-то может мне что-то подсказать?

Ответы [ 2 ]

2 голосов
/ 02 ноября 2011

Это должно работать просто отлично:

SQL> создать таблицу t1
2 как
3 выберите rownum row_id
4 из двойного 5 подключение по уровню <= 100; </p>

Таблица создана.

SQL> создать уникальный индекс i1 на параллели t1 (row_id) 8;

Указатель создан.

SQL> изменить таблицу t1
2 добавить ограничение первичного ключа pk1 (row_id) используя индекс i1;

Таблица изменена.

SQL> изменить индекс i1 noparallel;

Индекс изменен.

0 голосов
/ 02 ноября 2011

Я думаю, что вы ищете ALTER INDEX myidx parallel 1;

Источник: http://www.dba -oracle.com / t_parallel_create_index.htm

...