-
SQL Datenreihenfolge
Hallo Kollegen,
ich habe eine Merkwürdigkeit.
Wenn ich mit folgendem SQL Statement eine Abfrage auf meine Datei mache :
SELECT rrn(File), VORSCHL_NR, POS_NR FROM
File WHERE VORSCHL_NR = 100
erhalte ich folgendes Ergebnis :
RRN (File) VORSCHL_NR POS_NR
8.893 100 1
8.894 100 2
8.895 100 3
8.896 100 4
8.897 100 5
8.898 100 6
8.899 100 7
8.900 100 8
8.902 100 10
8.903 100 11
8.904 100 12
8.907 100 15
8.901 100 9
bei folgenden Statement :
SELECT rrn(File), VORSCHL_NR, POS_NR FROM
bev_pos WHERE VORSCHL_NR > 100
ist das Ergebnis :
RRN ( BEV_POS ) VORSCHL_NR POS_NR
8.893 100 1
8.894 100 2
8.895 100 3
8.896 100 4
8.897 100 5
8.898 100 6
8.899 100 7
8.900 100 8
8.901 100 9
8.902 100 10
8.903 100 11
8.904 100 12
8.905 100 13
8.906 100 14
Die Reihenfolge ist im oberen Statement nicht richtig. (Siehe Pos_nr 9).
Die gleiche Datei wird mit ORION auf ein anderes System gespiegelt. Dort habe ich nicht diese Merkwürdigkeit.
Wir haben vor kurzem von V5R3 auf V5R4 gewechselt. Hat es damit etwas zu tun und wie kann ich das bereinigen.
Danke für Eure Hilfe
Jenne
-
Wenn du keinen "Order By" verwendest, ist die Sortierfolge nicht gewährleistet sondern ist bedingt durch die Verwendung von Zugriffspfaden, Eingangsfolge bei REUSEDLT(*NO), oder Satz-Nr. bei REUSEDLT(*YES).
-
Hallo Fuerchau,
bei beiden Dateien ist REUSEDLT = *YES
Gruß
Jenne
-
Aber beide Systeme sind nun mal nicht identisch und was ein Optimizer da treibt ist auch nicht gewährleistet.
Warum sträubst du dich gegen ein simples "order by VORSCHL_NR, POS_NR " ?
Die RRN ist sowieso auch keine verlässliche Information.
-
Hallo Fuerchau,
ich sträube mich nicht gegen ein Order by, ich möchte es nur verstehen und eine Erklärung dafür haben.
Gruß
Jenne
-
Hat das andere System das selbe Betriebssystem-Release und den selben PTF-Stand?
Ergänzung:
Das Ergebnis der zweiten Abfrage kann nicht stimmen!?
Die Abfrage liefert doch hoffentlich keine Werte, die nicht zur WHERE-Bedingung passen?
-
Hallo Pikachu,
hatte mich bei der 2. where Bedinung verschrieben sollte >= sein. Beide Systeme haben V5R4 und wurden in einem Abstand von 3 Wochen auf diesen Release-Stand gebracht.
Gruß
Jenne
-
Hallo,
zur Erklärung:
Bei der ersten Abfrage = 100 verwendet der Optimizer einen Zugriffsweg (Index), da die Daten auf diese Art und Weise am schnellsten ermittelt werden können.
Bei der zweiten Abfrage wird nach Eingangsfolge gelesen, da die Daten auf diese Art und Weise am schnellten ermittelt werden können.
Der Optimizer verwendet einen Zugriffsweg, sofern ein passender Zugriffsweg angelegt ist und das Ergebnis bis ca. 20% der Gesamtanzahl der Datensätze umfasst.
Wird die Abfrage von der SQE ausgeführt wird die Anzahl der auszugebenden Sätze über die Statistiken ermittelt. Bei Ausführung über die CQE werden Schätzwerte verwendet. Bei einer Abfrage auf = wird von 10% ausgegangen und bei einer > oder < Abfrage von 33%.
-
Ich Danke Euch allen für die vielen Erklärungen.
Jetzt habe ich es verstanden
Gruß
Jenne
-
Zitat von Fuerchau
Aber beide Systeme sind nun mal nicht identisch und was ein Optimizer da treibt ist auch nicht gewährleistet.
Warum sträubst du dich gegen ein simples "order by VORSCHL_NR, POS_NR " ?
Die RRN ist sowieso auch keine verlässliche Information.
Obwohl alle Fragen beantwortet sind, möchte ich mich gerne Fuerchaus Aussage anschließen, weil ich finde, dass der Thread (gemessen am eigentlichen Problem) ziemlich esotherisch geworden ist, und dass Fuerchaus Statement wichtig ist. Was spricht dagegen, in eine Anweisung das hineinzuschreiben, was man haben will? Dann ist sie später auch für andere nachvollziehbar, ganz ohne Woodoo.
-
Hallo Spateneder,
wie ich mich schon darüber geäussert habe (s.o.), sträube ich mich doch garnicht dagegen. Es geht mir nur um das Verstehen.
Gruß Jenne
-
Hallo Jenne,
das ist schon klar. Ich fand es einfach wichtig, bei allem (löblichen) Forscherdrang das Wesentliche nicht aus den Augen zu verlieren. Als oller AS/400-Programmierer habe ich so viel mit unnötiger Geheimniskrämerei zu tun, dass es mir ein Anliegen war, meinen Senf dazuzugeben. Nix für ungut!
Grüße
M. Spateneder
Similar Threads
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 16-11-06, 10:15
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By malzusrex in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 19-09-06, 11:04
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks