Bevor wir nach anderen Lösungen für den Aufbau der Abfrage suchen, probiere es bitte mal mit
create index ix_VorgangPos_Gruppe on VorgangPos computed by (substring(ArtikelNr from 1 for 5))
Das habe ich vor der Ausführung meines
SQL-Statements aus dem Eingangspost ausgeführt. Mein läuft
SQL-Statement im IBExpert läuft nun seit mehr als 30 minuten... Woher weiss ich, dass der Index benutzt wird? Ist die
DB so schlau, das automatisch zu nutzen? Die anderen Vorschläge teste ich morgen. Danke!
Ob ein Index benutzt wird oder nicht, erfährt man im Ausführungsplan.
Für FireBird nutze ich eigentlich immer FlameRobin.
Dort erhält man den Ausführungsplan über das Menü "Statement" und dort das Untermenü "Show execution plan".
Und: Über welche Datenmengen reden wir hier? Ein paar, ein paar hundert, ein paar tausend, mehrere Millionen?