В примере на рисунке для создания индекса первичного ключа в явном виде используется предложение CREATE INDEX
с инструкцией CREATE TABLE
.

Индексам можно присвоить имя во время создания первичного ключа, чтобы оно отличалось от имени ограничения PRIMARY KEY
.
Сведения об индексах можно запросить в представлении словаря данных USER_INDEXES
.
Примечание. Дополнительные сведения о представлении словаря данных USER_INDEXES
содержатся в материалах занятия «Управление объектами с помощью представлений словаря данных».
Следующий пример служит иллюстрацией поведения базы данных в случае, когда имя индекса не задано в явном виде:
CREATE TABLE EMP_UNNAMED_INDEX |

SELECT INDEX_NAME, TABLE_NAME |

Обратите внимание, что индексу, который создается для столбца PRIMARY KEY
, сервером Oracle присваивается общее имя.
Можно также использовать существующий индекс для столбца PRIMARY KEY
– например, когда ожидается большой объем загрузки данных и необходимо ускорить работу. Возможно, потребуется отключить ограничения во время выполнения загрузки, а затем снова включить их.
В этом случае наличие уникального индекса для первичного ключа по-прежнему будет приводить к проверке данных во время загрузки. По этой причине можно сначала создать неуникальный индекс в столбце, обозначенном как PRIMARY KEY
, а затем создать столбец PRIMARY KEY
и указать, что он должен использовать существующий индекс. Этот процесс иллюстрируется следующими примерами.
Шаг 1. Создание таблицы:
CREATE TABLE NEW_EMP2 |
Шаг 2. Создание индекса:
CREATE INDEX emp_id_idx2 ON |
Шаг 3. Создание первичного ключа:
ALTER TABLE new_emp2 ADD PRIMARY KEY (employee_id) USING INDEX |