Zitat Zitat von Fuerchau Beitrag anzeigen
Die Aggregat-Funktion geht natürlich auch über den Index und macht auch in diesem Fall einen Index-Only-Access.
In wie weit die MAX-Funktion eben einen absteigenden Index verwendet (optimiert ist) kann ich nicht sagen.
Allerdings ist MAX eben so definiert, dass in einer Liste der größte Wert ermittelt werden soll.
Und das genau tut eben SQL (siehe Visual Explain).

Wie gesagt, mit einem explziten Zugriff per Order By auf 1 Satz sollte es auch funktionieren.

RPG ist dann langsamer, da immer auch auf die Datenbereiche zugegriffen wird, während SQL eben nur den Index-Teil verwenden kann.
... bringt nix, lässt sich leicht mit
select nummer from...
where ...
order by...
fetch first row only
verifizieren. Zum test kann man sich den zusätzlichen Index sparen und die kleinste holen.

ISAM (setll usw.) ist hier signifikant schneller, der Index only access spart hier eh' nur Hauptspeicher.

Wenn da nur ein Prozess reinschreibt, kann man da mit caching im zentralen getter einiges rausholen, da muss man sich allerdings noch ein paar Gedanken über konkurrierende updates machen...

D*B