Многомерные индексы в базах данных


10

Какие базы данных используют реальные многомерные индексы? Использует ли когда-либо оракул несколько индексов для получения данных из таблиц, или он всегда использует тот, который, по-видимому, обладает самой высокой селективностью? Как насчет других БД?

Ответы:


9

У Oracle есть тип индекса, называемый Bitmap Index, который он описывает как ...

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

Если таблица имеет индекс растрового изображения или используется подсказка, она может использовать план доступа к растровому изображению для обычных индексов B-дерева . Растровые индексы могут быть объединены, объединены и пересечены.

На use-the-index-luke.com есть отличное объяснение, которое включает в себя следующие реализации объединения нескольких индексов B-Tree:

DB2: DB2 поддерживает доступ с несколькими индексами в LUW 9r7 (с использованием динамического растрового изображения) и в zOS v10 .

MySQL: MySQL имеет оптимизацию слияния индексов, начиная с версии 5.0.

Oracle База данных Oracle использует преобразования BITMAP для быстрого объединения нескольких индексов (введено в 9i).

PostgreSQL PostgreSQL использует битовые карты для объединения нескольких индексов, начиная с версии 8.1.

SQL Server SQL Server может использовать несколько индексов («Пересечение индексов»), начиная с V7.0, с использованием алгоритма хеширования.

См. Также этот вопрос StackOverflow, в котором первый ответ говорит о том, что SQL Server делает нечто похожее на растровые индексы, используя пересечение индексов.

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



5

Возможно, растровые индексы Oracle - это то, что вы ищете. Типы индексов Oracle .

Я думаю, что они разрешают объединение и пересечение. Но я признаю, что я не знаком с ними.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.