Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie viele Indizes kann die Abfrage in einer einzelnen SQL-Abfrage aus einer einzelnen Tabelle verwenden?

Es ist möglich, dass alle drei verwendet werden könnten. Es ist nicht besonders wahrscheinlich, dass Oracle alle drei verwenden würde oder dass die Verwendung aller drei von Vorteil wäre, aber es ist möglich.

Die einfachste Möglichkeit für Oracle, alle drei Indizes zu verwenden, wäre, wenn wir über Bitmap-Indizes sprechen würden, die für die Kombination konzipiert sind, aber wirklich nur in Data Warehouse/DSS-Situationen geeignet sind, nicht in OLTP-Systemen. Es ist auch möglich, dass Oracle einen "Standard"-B-Tree-Index in einen Bitmap-Index spontan umwandelt, um die gleiche Kombination von Indizes in einem OLTP-System durchzuführen, aber das ist im Allgemeinen nicht besonders effizient.

Wenn Sie versuchen, geeignete Indizes zum Optimieren einer Abfrage in einem OLTP-System zu erstellen, möchten Sie meistens einen einzelnen zusammengesetzten Index erstellen, anstatt separate einspaltige Indizes zu erstellen, wenn Sie mehrere Spalten filtern möchten / mitmachen.