Forum: Datenbanken
by jobo,
11. Aug 2016
Nachtrag
Die beiden Ausführungspläne zeigen jedenfalls, dass der 2. Plan viel besser ist.
Also wie kann man den Optimizer dazu bringen, dem 2. Plan zu folgen ohne die Bedingung wegzulssen?
Den (Ausführungs)Plan angeben
http://www.firebirdfaq.org/faq224/
Unbehilfliche Indizes löschen (Feld1)
oder wenn der Index an anderer Stelle gebraucht wird, die Abfrage so formulieren, dass der...
Forum: Datenbanken
by jobo,
11. Aug 2016
Das kannst Du auch nicht "verstehen", der Optimizeralgorithmus basiert auf (hoffentlich) komplexen Entscheidungen, den Statistiken* und irgendwelchen genialen oder doofen Ideen der Entwickler.
Das bedeutet konkret, die Änderung eines einzigen (!) Feldinhaltes kann den Optimizer dazu bringen, einen anderen Ausführungsplan zu verwenden.
Dein "großer" Index muss demzufolge nicht alle Felder...