Hallo,
ein Join über 2 Tabellenfelder bei großen Tabellen sollte schneller sein, wenn beide Felder indiziert sind.
Das Bsp. von IBExpert zeigt das auch (ok, ist kein Join).
Mehrfelder-Indizes können z.B. bei Firebird nur benutzt werden, wenn die Abfrage die Felder in der Index-Reihenfolge benutzt: Index auf Tab1 (A,B) wird bei Where B=5 nicht benutzt.
Bei Oracle ist das aber glaube ich anders.
Bei vielen ist immer noch in Gedanken: Index verlangsamt Insert/Update, ist ja richtig.
Die Beschleunigung des Select steht im Hintergrund.
Es gibt doch bei Oracle auch einen Optimierer, der bei einer
DB Vorschläge macht, wie die schneller arbeitet, also bei einer
Query sagt, mit Index auf Feld X geht es schneller.
Ich meine jetzt nicht den internen
SQL-Optimizer.
Ich hatte bei Interbase damals den IBPlanalyzer benutzt, um unseren Chef von Indizes zu überzeugen und auch mit realen Daten (große
DB, Sekunden Ausführungszeit pro reale Funktion) gearbeitet.
Wenn eine Inventur oder Statistik am Wochenende gemacht wird und 10 Stunden dauert und es dem Kunden egal ist, kann man natürlich nicht so viel machen.
Heiko