PDA

View Full Version : Subfilesortierung



Seiten : 1 [2]

Fuerchau
07-06-24, 12:13
Hier musst du zwischen SQL-Join und DDS-Join unterscheiden.
Ein DDS-Join kann einen Key definieren, den du per SETLL/READE lesen kannst.
Ein SQL-Join kannst du zwar lesen, dieser hat jedoch keinen Key.
Deshalb dient ein SQL-Join immer nur einem Lesen per SQL, da Where und Order im Zweifel über die PF (Table) und Indexe (LF's) durchgeführt werden.

Die Frage kann also mit Ja beantwortet werden, du kannst sie nur nicht mit Schlüsseln ansprechen.

alex61
07-06-24, 12:28
vielen Dank für die interessnte Info :-)

B.Hauser
07-06-24, 12:30
Wenn die Spalten feststehen und ebenso die Sortierung, kann man das Ganze direkt mit statischem SQL machen. Dynamisches verkompliziert das Ganze nur und ist auch (minimal) langsamer als statisches SQL, da die Syntax-Prüfung und erste Optimierung erst zur Laufzeit erfolgen kann).
Es ist sogar möglich beim statischen SQL mit Hilfe von CASE-Anweisungen die Sortierung dynamisch zu steuern.

In SQL-Abfragen interessiert nicht ob die Sortier-Felder aus einer oder mehreren (der gejointen) Tabellen kommen. Vielfach werden die ausgewählten Datensätze erst im letzten Schritt sortiert.
In einer DDS beschriebenen Join-File hingegen müssen alle Schlüssel-Felder aus der gleichen Datei sein. Das war eigentlich schon immer so, und da DDS seit Release V5R3M0 "stabilisiert" ist, hat sich daran auch nichts mehr geändert.

Fuerchau
07-06-24, 13:03
Es soll halt noch Programmierer geben, die kein SQL mögen, auch wenn die Geschindigkeit bei den heutigen Maschinen (fast) keine Rolle mehr spielt.