20. Индексирование в Oracle
Индекс
(или указатель) — это порядковый номер
записи. При вводе исходных данных записям
присваиваются порядковые номера по
мере их ввода. Для удобства работы с
записями их желательно упорядочить по
значениям какого-либо поля, т. е. записи
на расположить или по возрастанию (по
алфавиту), или по убывают значений поля.
Таким образом, индексный файл представляет
собой две колонки чисел: в первой колонке
указываются номера, которые получили
записи при их вводе в таблицу, а во второй
колонке — номера, полученные записями
после их упорядочения по значения поля.
Если выстраивать записи по номерам
второй колонки индексного файла, то
записи в таблице будут упорядочены (по
алфавиту или против алфавита) по значениям
индексного поля, т. е. отсортированы.
Индексы можно строить как по значениям
одного по (простой индекс), так и по
значениям нескольких полей (сложны
индекс). Индексные файлы (или индексы)
занимают дополнительное место на жестком
диске.
Синтаксис
команды create
index
следующий:
create
index
<имя_индекса>
on
<имя_таблицы>(<поле1> [, <поле2>,...])
[<параметры>];
Имя
индекса должно быть уникальным среди
имён объектов БД.
Если
индекс составной, то входящие в него
поля перечисляются через запятую.
Необязательные <параметры> зависят
от используемой СУБД.
Например,
в Oracle
с помощью следующей команды можно
создать составной индекс для таблицы
СОТРУДНИКИ
(EMP) по полям Фамилия
(fam)
и Имя
(name):
create
index ind_emp_name on emp(fam, name)
TABLESPACE
MY_INDEXES;
Индексы
и таблицы желательно создавать в разных
табличных пространствах.