Oracle ma typ indeksu zwany indeksem bitmapowym, który opisuje jako ...
Indeks bazy danych, w którym baza danych przechowuje mapę bitową dla każdego klucza indeksu zamiast listy wierszy.
Jeśli tabela ma indeks bitmapowy lub podpowiedź jest użyta, można użyć planu dostępu do bitmapy na zwykłych indeksach B-drzewa . Indeksy bitmapowe można łączyć, łączyć i przecinać.
Istnieje doskonałe wytłumaczenie na use-the-index-luke.com, gdzie zawiera następujące implementacje łączenia wielu indeksów B-Tree:
DB2:
DB2 obsługuje dostęp do wielu indeksów w
LUW 9r7 (przy użyciu dynamicznej mapy bitowej) i w systemie zOS v10 .
MySQL:
MySQL ma optymalizację scalania indeksu
od wersji 5.0.
Oracle
Baza danych Oracle wykorzystuje KONWERSJE BITMAP do łączenia wielu indeksów w locie (wprowadzonych z 9i).
PostgreSQL
PostgreSQL używa map bitowych do łączenia wielu indeksów od wersji 8.1.
SQL Server
SQL Server może korzystać z wielu indeksów („Index Intersect”), począwszy od wersji 7.0 przy użyciu algorytmu skrótu.
Zobacz także to pytanie StackOverflow, w którym pierwsza odpowiedź mówi, że SQL Server robi coś podobnego do indeksów bitmapowych za pomocą przecięcia indeksu.
Wydajne i elastyczne indeksowanie map bitowych dla złożonych zapytań o podobieństwo to najbliższe odniesienie, jakie znalazłem kojarzące indeksy bitmapowe ze słowem wielowymiarowym. Wydaje się, że wielowymiarowość jest raczej sposobem na użycie indeksów niż ich atrybutem.
Możliwe, że indeksy bitmapowe Oracle są tym, czego szukasz. Typy indeksu Oracle .
Myślę, że pozwalają na zjednoczenie i skrzyżowanie. Ale przyznaję, że ich nie znam.
źródło