Mehrdimensionale Indizes in Datenbanken

10

Welche Datenbanken verwenden echte mehrdimensionale Indizes? Verwendet Oracle jemals mehrere Indizes, um Daten aus Tabellen abzurufen, oder wird immer derjenige benötigt, der die höchste Selektivität zu haben scheint? Wie wäre es mit anderen DBMS?

paweloque
quelle

Antworten:

9

Oracle hat einen Indextyp namens Bitmap-Index, den es als ...

Ein Datenbankindex, in dem die Datenbank eine Bitmap für jeden Indexschlüssel anstelle einer Liste von Rowids speichert.

Wenn eine Tabelle einen Bitmap-Index hat oder ein Hinweis verwendet wird, kann sie einen Bitmap-Zugriffsplan für reguläre B-Tree-Indizes verwenden . Bitmap-Indizes können verknüpft, vereinigt und geschnitten werden.

Unter use-the-index-luke.com finden Sie eine hervorragende Erklärung, in der die folgenden Implementierungen zum Kombinieren mehrerer B-Tree-Indizes enthalten sind:

DB2: DB2 unterstützt den Mehrfachindexzugriff unter LUW 9r7 (unter Verwendung einer dynamischen Bitmap) und unter zOS v10 .

MySQL: MySQL verfügt ab Version 5.0 über eine Optimierung der Indexzusammenführung.

Oracle Die Oracle-Datenbank verwendet BITMAP CONVERSIONs, um mehrere Indizes im laufenden Betrieb zu kombinieren (eingeführt mit 9i).

PostgreSQL PostgreSQL verwendet Bitmaps, um mehrere Indizes seit Version 8.1 zu kombinieren .

SQL Server SQL Server kann mehrere Indizes ("Index Intersect") verwenden, beginnend mit V7.0, wobei ein Hash-Algorithmus verwendet wird.

Siehe auch diese StackOverflow-Frage, in der die erste Antwort besagt, dass SQL Server mithilfe von Indexschnittpunkten ähnliche Aktionen wie Bitmap-Indizes ausführt.

Effiziente und flexible Bitmap-Indizierung für komplexe Ähnlichkeitsabfragen ist die engste Referenz, die ich gefunden habe, um Bitmap-Indizes mit dem Wort mehrdimensional zu verknüpfen. Mehrdimensional scheint eher eine Möglichkeit zu sein, Indizes zu verwenden, als ein Attribut davon.

Leigh Riffel
quelle
6

SQL Server führt möglicherweise eine " Indexschnittstelle " durch. Und auf MSDN .

Ist es das was du meinst?

gbn
quelle
genau! Gibt es etwas Vergleichbares in Orakel?
Paweloque
1
ähm ... keine Ahnung. Ich bin ein MS-Affe.
GBN
5

Möglicherweise sind Oracle-Bitmap-Indizes genau das, wonach Sie suchen. Oracle-Indextypen .

Ich denke, sie erlauben Vereinigung und Kreuzung. Aber ich gebe zu, dass ich mit ihnen nicht vertraut bin.

bernd_k
quelle