Назад    Оглавление    Далее

Индексы

Объект базы данных, обеспечивающий прямой и быстрый доступ к строкам в таблице, называется индексом. Индексы используется сервером Oracle7 для ускорения выборки строк с помощью указателя. При использовании индексов уменьшается количество операций обмена с внешней памятью за счет использования быстрого метода поиска данных. Индексы не зависят от таблицы, для которой они были созданы и автоматически используется и поддерживается сервером Oracle7.

Индекс можно создать автоматически (при описании ограничений, типа PRIMARY KEY или UNIQUE) или вручную (используя команду CREATE INDEX).

Сервер Oracle7 использует для индексов структуру B-дерева. Каждый индекс состоит из значений столбцов и указателей (ROWID), организованных в виде страниц (ветвей). Сервер осуществляет поиск по ветвям дерева до обнаружения листа со значением, содержащим указатель.

Структура индекса в виде В-дерева:

Типы индексов:

Создание индекса.

Синтаксис:

CREATE INDEX index

ON table (column [, column]…);

где

index

Имя создаваемого индекса.

table

Имя таблицы, на основе которой он создается.

column

Имя столбца (столбцов) для создания индекса.

Пример: Создание индекса для таблицы S_EMP на столбце LAST_NAME.

Когда создавать индекс:

Когда не создавать индекс:

Просмотр индексов.

Определение индекса содержится в представлении словаря данных USER_INDEXES. Представление USER_IND_COLUMNS содержит имя индекса, имя таблицы и имя столбца.

Удаление индекса.

Удаление индекса из словаря данных производится командой DROP INDEX. Чтобы удалить индекс, необходимо быть его владельцем или иметь привилегию DROP ANY INDEX.

Пример: Удаление индекса с именем s_emp_last_name_idx.

Для закрепления материала можно выполнить Практическое задание 14


Назад    Оглавление    Далее