Forum: Datenbanken
by Delphi.Narium,
4. Mär 2021
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?
Forum: Datenbanken
by Delphi.Narium,
3. Mär 2021
Dashier kann nicht schnell sein: min((
select sum(Menge) from VorgangPos vpSub
where substring(vpSub.ArtikelNr from 1 for 5) = substring(vp.ArtikelNr from 1 for 5)
)) as Gruppenmenge
Je Datensatz der Ergebnismenge muss ein Subselect mit einer Einschränkung auf einen Teilstring gemacht werden, für den es (vermutlich / höchstwahrscheinlich) keinen Index gibt.
Bevor wir nach...