Создание и использование индексов
С целью ускорения поиска и сортировки данных в любой СУБД используются индексы.
Индекс
является средством, которое обеспечивает быстрый доступ киданным в таблице на основе значений одного или нескольких столбцов. Индекс представляет собой упорядоченный список значений и ссылок на те записи, в которых хранятся эти значения. Чтобы найти нужные записи, СУБД сначала ищет требуемое значение в индексе, а затем по ссылкам быстро отбирает соответствующие записи. Индексы бывают двух типов: простые и составные.
Простые
индексы представляют собой индексы, созданные по одному столбцу. Индекс, построенный по нескольким столбцам, называется
составным.
Примером составного индекса может быть индекс, построенный по столбцам "Фамилия" и "Имя".
Однако применение индексов приносит не только преимущества, но и недостатки. Главным среди них является тот, что при добавлении и удалении записей или при обновлении значений в индексном столбце требуется обновлять индекс, что при большом количестве индексов в таблице может замедлять работу. Поэтому индексы обычно рекомендуется создавать только для тех столбцов таблицы, по которым наиболее часто выполняется поиск записей. Во многих СУБД (например, FoxPro) индексы хранятся в отдельных файлах и являются предметом заботы разработчиков, т. к. при нарушении индекса поиск данных выполняется некорректно. В Microsoft Access индексы хранятся в том же файле базы данных, что и таблицы и другие объекты Access. Индексировать можно любые поля, кроме МЕМО-полей, полей типа Гиперссылка и объектов OLE.
Чтобы создать простой индекс, необходимо:
Открыть таблицу в режиме Конструктора.
Выбрать поле, для которого требуется создать индекс.
Открыть вкладку
Общие
(General) и выбрать для свойства
Индексированное поле
(Indexed) значение
Да (Допускаются совпадения)
(Yes (Duplicates OK)) или
Да (Совпадения не допускаются)
(Yes (No duplicates)) (рис. 2.24).