Базы данных - модели, разработка, реализация



         

Инвертированные списки - часть 2


182

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

Рис. 9.11. Построение инвертированного списка по номеру группы для списка студентов

183

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

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

При модификации основного файла происходит следующая последовательность действий:

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

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

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

    184

    182 :: 183 :: 184 :: Содержание




    Содержание  Назад  Вперед