Hallo zusammen,
ich habe folgendes Verhalten beobachtet:
Tabelle "Mitarbeiter" hat drei Nummer Spalten A, B und C.
Ein zusammengesetzter Standard Index ist auf A + B + C angelegt.
Teilweise steht in A, B und C der gleiche Wert, "-1".
SQL 1 = Where A = -1
SQL 2 = Where A = -1 and B = -1
SQL 3 = Where A = -1 and B = -1 and C = -1
Der Ausführungsplan ist bei SQL 3 am besten und SQL 1 am schlechtesten.
Mein Verständnis wäre gewesen, dass Oracle bei der Baumstruktur schneller fertig ist wenn bei einem spaltenübergreifenden Index nur die erste Spalte gelesen werden muss.
Warum ist das nicht so?
Viele Grüße
ich habe folgendes Verhalten beobachtet:
Tabelle "Mitarbeiter" hat drei Nummer Spalten A, B und C.
Ein zusammengesetzter Standard Index ist auf A + B + C angelegt.
Teilweise steht in A, B und C der gleiche Wert, "-1".
SQL 1 = Where A = -1
SQL 2 = Where A = -1 and B = -1
SQL 3 = Where A = -1 and B = -1 and C = -1
Der Ausführungsplan ist bei SQL 3 am besten und SQL 1 am schlechtesten.
Mein Verständnis wäre gewesen, dass Oracle bei der Baumstruktur schneller fertig ist wenn bei einem spaltenübergreifenden Index nur die erste Spalte gelesen werden muss.
Warum ist das nicht so?
Viele Grüße
Comment