Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt.rtf
Скачиваний:
282
Добавлен:
19.08.2013
Размер:
4.05 Mб
Скачать

20.4.4. Типы индексов (слайд 17)

  • Индексы на основе В*-дерева. Аналогичные по конструкции двоичному дереву, они обеспечивают быстрый доступ по ключу к отдельной строке или диапазону строк, требуя обычно очень немного чтений для поиска соответствующей строки. Индекс на основе В*дерева имеет несколько подтипов:

  • Таблицы, организованные по индексу. Это таблицы, хранящиеся в структуре В*-дерева

  • Индексы кластера на основе В*-дерева. Используются не для перехода от ключа к строке, а для перехода от ключа кластера к блоку, содержащему строки, связанные с этим ключом.

  • Индексы с обращенным ключом. Это индексы на основе В*-дерева, байты ключа в которых инвертированы. Это используется для более равномерного распределения записей по индексу при вводе возрастающих значений ключей. Предположим, при использовании последовательности для генерации первичного ключа генерируются значения 987500, 987501, 987502 и т.д. Поскольку это последовательные значения, они будут попадать в один и тот же блок индекса, конкурируя за него. В индексе с обращенным ключом сервер Oracle будет индексировать значения 205789, 105789, 005789. Эти значения обычно будут далеко отстоять друг от друга в индексе, и вставки в индекс будут распределены по нескольким блокам.

  • Индексы по убыванию. Индексы по убыванию позволяют отсортировать данные в структуре индекса от "больших" к "меньшим", а не от меньших к большим (по возрастанию).

  • Индексы на основе битовых карт. Обычно в В*-дереве имеется однозначное соответствие между записью индекса и строкой — запись индекса указывает на строку. В индексе на основе битовых карт запись использует битовую карту для ссылки на большое количество строк одновременно.

  • Индексы по функции. Эти индексы на основе В*-дерева или битовых карт хранят вычисленный результат применения функции к элементам строки, а не сами данные строки.

  • Прикладные индексы - индексы, которые строит и хранит приложение.

  • Текстовые индексы interMedia - встроенные прикладные индексы для обеспечения поиска ключевых слов в текстах большого объема.

20.4.5. Кластеры

КЛАСТЕРЫ - это необязательный способ хранения данных таблиц. Кластер представляет собой группу таблиц, разделяющих одни и те же блоки данных, потому что они имеют общие столбцы и часто используются вместе.

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

  • Сокращается дисковый ввод-вывод и улучшается время доступа для соединений по кластеризованным таблицам.

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

Соседние файлы в предмете Базы данных