Индексирование

Определение ключа для таблицы означает автоматическую сортировку записей, контроль отсутствия повторений значений ключевых полей и повышение скорости выполнения операций поиска в таблице. Для реализации этих функций в СУБД применяют индексирование.

Термин «индекс» тесно связан с понятием «ключ», хотя между ними есть некоторое отличие.

Под индексом понимают средство ускорения операций поиска записей в таблице, а, следовательно, и других операций, использующих поиск: извлечение, модификация, сортировка и т.д. Таблицу, для которой используют индекс, называют индексированной.

Индекс выполняет роль оглавления таблицы, просмотр которого предшествует обращению к записям. Доступ к данным зависит от следующих факторов:

- вида содержимого в ключевом поле индексного файла;

- типа используемых ссылок на запись основной таблицы;

- метода поиска нужных записей.

В поле ключа индексного файла можно хранить значения ключевых полей индексируемой таблицы или свертку ключа (хеш-код). Длина хеш-кода, независимо от длины исходного значения ключевого поля, содержит постоянную достаточно малую величину, что существенно снижает время поисковых операций.

Для организации ссылки на запись таблицы могут использоваться три типа адресов:

- абсолютный (действительный),

- относительный,

- символический (идентификатор).

На практике чаще всего используются два метода поиска:

- последовательный,

-бинарный (основанный на делении интервала поиска пополам).

Главная причина повышения скорости выполнения различных операций в индексированных таблицах состоит в том, что основная часть работы производится с небольшими индексными файлами, а не с таблицами. Наибольший эффект повышения производительности работы с индексированными таблицами достигается для значительных по объему таблиц. Индексирование требует небольшого дополнительного места на диске и незначительных затрат процессора на изменение индексов в процессе работы. Индексы в общем случае могут изменяться перед выполнением запросов к БД, после выполнения запросов к БД, по специальным командам пользователя или программным вызовам приложений.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: