Aus Wikipedia:B-Trees und Bitmap-Indizes . Die Anwendungsfälle:
-
B-Bäume sind der typische Indextyp, der verwendet wird, wenn Sie
CREATE INDEX ...
ausführen in einer Datenbank:- Sie sind sehr schnell, wenn Sie nur eine sehr kleine Teilmenge der Indexdaten auswählen (in der Regel 5 % bis maximal 10 %)
- Sie funktionieren besser, wenn Sie viele unterschiedliche indizierte Werte haben.
- Es ist möglich, mehrere B-Tree-Indizes zu kombinieren, aber einfachere Ansätze sind oft effizienter.
- Sie sind nicht sinnvoll, wenn es nur wenige eindeutige Werte für die indizierten Daten gibt oder wenn Sie eine große Teilmenge der Daten (normalerweise>10 %) erhalten möchten.
- Jeder B-Tree-Index verursacht eine kleine Strafe beim Einfügen/Aktualisieren von Werten in der indizierten Tabelle. Dies kann ein Problem sein, wenn Sie viele Indizes in einer stark ausgelasteten Tabelle haben.
-
Bitmap-Indizes sind eine speziellere Indexvariante:
- Sie kodieren indizierte Werte als Bitmaps und sind daher sehr platzsparend.
- Sie funktionieren tendenziell besser, wenn es nur wenige eindeutige indizierte Werte gibt
- DB-Optimierer können mehrere indizierte Bitmaps sehr einfach kombinieren, dies ermöglicht eine effiziente Ausführung komplexer Filter in Abfragen.
- Sie sind beim Einfügen/Aktualisieren von Werten sehr ineffizient.
Bitmap-Indizes werden hauptsächlich in Data-Warehouse-Anwendungen verwendet, wo die Datenbank mit Ausnahme der ETL-Prozesse nur gelesen wird und Sie normalerweise komplexe Abfragen gegen einen Sternschema , wo Bitmap-Indizes das Filtern basierend auf Bedingungen in Ihren Dimensionstabellen beschleunigen können, die normalerweise nicht zu viele unterschiedliche Werte haben.
Diese Eigenschaften machen B-Tree-Indizes sehr nützlich für die Beschleunigung von Suchen in OLTP-Anwendungen, wenn Sie mit sehr kleinen Datensätzen gleichzeitig arbeiten, die meisten Abfragen nach ID filtern und Sie eine gute gleichzeitige Leistung wünschen.
Als sehr kurze Zusammenfassung:Verwenden Sie B-Tree-Indizes (der "Standard"-Index in den meisten Datenbanken), es sei denn, Sie sind ein Data-Warehouse-Entwickler und wissen Sie profitieren von einem Bitmap-Index.