Как работает растровый индекс? - PullRequest
7 голосов
/ 31 августа 2010

Кто-нибудь может помочь мне получить логическое представление индекса растрового изображения и индекса обратного ключа?

1 Ответ

10 голосов
/ 31 августа 2010

Индекс обратного ключа (в Oracle) - это обычный индекс (B-дерево) с обратными ключами (1234 становится 4321).Это может предотвратить несбалансированные индексы, если вы добавляете увеличивающиеся ключи.Это также делает невозможным сканирование диапазона, поэтому вы должны знать, что вы делаете при использовании этого.

Индекс растрового изображения полностью отличается от индекса B-дерева.Вы можете рассматривать его как массив длинных битов для каждого значения ключа, с одной записью для каждой строки, установленной в true, если строка имеет это значение, и false, если нет.Это работает лучше (чем индексы B-дерева) для столбцов с несколькими значениями (например, MALE, FEMALE).Вы можете сжать эти битовые массивы, и тогда они станут очень компактными и быстрыми для сканирования.

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

В Википедии есть хорошая страница о растровых индексах тоже.

...