Создание и использование индексов

С целью ускорения поиска и сортировки данных в любой СУБД используются индексы. Индекс — это средство, которое обеспечивает быстрый доступ к данным в таблице на основе значений одного или нескольких столбцов. Индекс представляет собой упорядоченный список значений и ссылок на соответствующие записи. Чтобы найти нужные записи, СУБД сначала ищет требуемое значение в индексе, а затем по ссылкам быстро отбирает записи. Индексы бывают двух типов: простые и составные. Простые индексы создаются по одному столбцу, а составные — по нескольким столбцам, например, по столбцам "Фамилия" и "Имя".

Однако применение индексов имеет не только преимущества, но и недостатки. Главный из них — необходимость обновления индекса при добавлении, удалении или изменении записей, что может замедлять работу при большом количестве индексов. Поэтому рекомендуется создавать индексы только для тех столбцов, по которым часто выполняется поиск. В Microsoft Access индексы хранятся в том же файле базы данных, что и таблицы, тогда как в других СУБД (например, FoxPro) индексы хранятся отдельно и требуют внимания разработчика.

Чтобы создать простой индекс, выполните следующие действия:

  1. Открыть таблицу в режиме Конструктора.
  2. Выбрать поле, для которого требуется создать индекс.
  3. На вкладке Общие (General) задать свойство Индексированное поле (Indexed) значением Да (Допускаются совпадения) (Yes (Duplicates OK)) или Да (Совпадения не допускаются) (Yes (No duplicates)).
Установка индекса для поля

Рис. 2.24. Установка индекса для поля

Ключевое поле таблицы автоматически индексируется, и его свойству Индексированное поле (Indexed) присваивается значение Да (Совпадения не допускаются) (Yes (No duplicates)).

Создание составного индекса выполняется следующим образом:

  1. Открыть таблицу в режиме Конструктора.
  2. На панели инструментов Конструктор таблиц (Table Design) нажать кнопку Индексы (Indexes).
  3. В первой пустой строке поля Индекс (Index Name) ввести имя индекса.
  4. В поле Имя поля (Field Name) выбрать первое поле.
  5. В следующей строке указать второе индексируемое поле (поле Индекс (Index Name) оставьте пустым). Повторите операцию для всех необходимых полей.
Диалоговое окно Индексы

Рис. 2.25. Диалоговое окно Индексы

Замечание

По умолчанию сортировка устанавливается по возрастанию (Ascending). Чтобы изменить порядок на убывающий, выберите По убыванию (Descending) в поле Порядок сортировки (Sort Order).

Диалоговое окно Индексы (Indexes) позволяет изменять существующие индексы. Вы можете изменить:

Диалоговое окно индексов для таблицы Клиенты

Рис. 2.26. Диалоговое окно индексов для таблицы "Клиенты"

Удаление индекса выполняется так же, как и удаление поля в Конструкторе таблиц. Просто выделите строку с нужным индексом и нажмите клавишу <Delete> или воспользуйтесь контекстным меню.