Главная » SQL, Базы данных » Индексация с применением комбинаций полей

0

Существует также  возможность сформировать индекс  на основе значений двух или  нескольких полей, составляющих единую комбинацию. Например, на рис. Г. 11 показан индекс на файле поставщиков, в котором используется комбинация полей CITY и STATUS в указанном  порядке. С применением такого  индекса в СУБД можно получить ответ на запрос:  "Определить поставщиков из Парижа со статусом 30" за один просмотр единственного  индекса.  А если бы этот комбинированный индекс был заменен  двумя  отдельными  индексами,  то  для  выполнения  такого  запроса  потребовалось  бы  два отдельных просмотра индексов (как было описано выше). Кроме того, в данном случае может оказаться сложно определить, какой из этих двух просмотров следует выполнить в первую очередь; поскольку две возможные  последовательности могут обладать весьма различными характеристиками  производительности, такой выбор может оказаться весьма важным.

Рис. Г.11. Индексация файла поставщиков по комбинации полей CITY И STATUS

Кроме того, следует отметить, что комбинированный индекс CITY/STATUS может также служить в качестве индекса только к одному полю CITY, поскольку все записи, относящиеся к  данному конкретному  городу,  по  меньшей  мере,  продолжают  оставаться  последовательно  расположенными  и  в  этом комбинированном индексе. (Но если потребуется также индексация  по полю STATUS, TO необходимо будет предусмотреть еще один, отдельный индекс.) Вообще говоря, индекс на комбинации полей Fl, F2, F3, . . ., Fn (в указанном порядке) может также  использоваться в качестве таких индексов — только на одном поле F1, на комбинации полей  F1F2 (или F2F1), на комбинации полей F1F2F3 (в любом порядке) и т.д. Таким образом, общее  количество индексов, которые требуются для обеспечения полной индексации с помощью  указанного способа, не так уж велико, как может показаться на первый взгляд (см. упражнение Г.9 в конце этого приложения).

Источник: Дейт К. Дж., Введение в системы баз данных, 8-е издание.: Пер. с англ. — М.: Издательский дом «Вильямс», 2005. — 1328 с.: ил. — Парал. тит. англ.

По теме:

  • Комментарии