Hallo,

Rekord Löffel Exzess ist immer das sparsamste und damit bezogen auf eine atomare Operation das schnellste (da gibt es ein paar Marketing Aussagen, die das anders darstellen: Marketing halt...).
SQL kann dann Speed machen, wenn Zugriffe grob granular sind (ja, ein komplexer Join kann schneller sein als 76 read und chain und trulala). Auch ein Select count(*) wird bei entsprechender Hardware und Index Design schneller sein als nachzählen mit Rekord Löffel Exzess.
Der Rest an Speed in der Datenbank kommt aus dem Applikations Design (cachen von häufig gelesenen Sätzen, sinnige Zugriffslogik etc.) Letzteres führt dazu, dass im richtigen Leben mit SQL richtig Dampf gemacht werden kann, wenn man ausreichend Hardware hat.

mfg

Dieter Bender

Zitat Zitat von Fuerchau
select feldx into :myfeld
from datei
where < bedingung >
fetch first 1 rows only

if sqlcod = *zero; // Satz vorhanden
else;
endif;

ist schon der richtige Weg.
Wenn für "Bedingung" Zugriffspfade bestehen erfolgt der Zugriff auch schnell

Ggf. kann mit "optimize for 1 rows" noch etwas beschleunigt werden.

Allerdings wird nichts so schnell wie SETLL sein, da hier ja native über eine LF zugegriffen wird. Wobei ein CHAIN mit verkürztem Schlüssel noch schneller ist.