Материал: Л-9 - Методы доступа к данным

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Индексирование данных (4)

Обращение к записи таблицы через индексы осуществляется в два этапа:

сначала СУБД считывает индекс в оперативную память (ОП) и находит в нем требуемое значение атрибута и соответствующий адрес записи (КБД),

затем по этому адресу происходит обращение к ВЗУ.

Индекс загружается в ОП целиком или хранится в ней постоянно во время работы с таблицей БД, если хватает объема ОП.

Первичные и вторичные индексы

Индекс называется первичным, если каждому значению индекса соответствует уникальное значение ключа.

Индекс по ключу, допускающему дубликаты значений, называется вторичным.

Большинство СУБД автоматически строят индексы по первичному ключу и по уникальным столбцам (используются для проверки ограничения целостности UNIQUE).

Для каждой таблицы можно иметь несколько вторичных индексов, что относится к достоинствам индексирования.

Составные индексы

Составной индекс включает два или более столбца одной таблицы. Последовательность вхождения столбцов в индекс определяется при его создании.

Данные в индексе отсортированы по первому столбцу (ID). В группе с одинаковыми значениями ID – по второму столбцу (EDATE). В группе с одинаковыми значениями ID

и EDATE – по столбцу (CODE).

Способы организации индексов – плотные и неплотные индексы

В плотных индексах для каждого значения ключа имеется отдельная запись индекса, указывающая место размещения конкретной записи.

Неплотные (разреженные) индексы основываются на предположении, что на каждой странице памяти хранятся записи, отсортированные по значениям индексируемого атрибута.

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

Способы организации индексов – сжатые индексы

Для больших индексов актуальна проблема сжатия ключа. Наиболее распространенный метод сжатия основан на устранении избыточности хранимых данных.

Последовательно идущие значения ключа обычно имеют одинаковые начальные части, поэтому в каждой записи индекса можно хранить не полное значение ключа, а

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

Такой индекс называется сжатым.