-
Wieso das? Bei einem cross join lateral wird jede Zeile mit den Zeilen der jeweiligen Values List verbunden, damit gibt es also nur 1000 Zugriffe anstatt 4000.
-
Ja, man muss sich nur mal das Konstrukt genauer ansehen:
Code:
values
(kdnr, ans1, name1, ort1),
(kdnr, ans2, name2, ort2),
(kdnr, ans3, name3, ort3)
) as tab_data(kdnr, ans, name, ort)
Ich habe lateral ähnlich gesehen wie beim Join mit einer anderen Tabelle.
Hier bezieht sich Values() direkt auf die From-Table. Das hatte ich so genau nicht gesehen.
Diese Variante kannte ich noch nicht, hilft mir aber nun auch bei anderen ähnlichen Konstrukten, da es in ERP's durchaus ähnliche Strukturen gibt.
Da hier kein zusätzlicher Zugriff erfolgt, könnte diese Abfrage sogar schneller als der Union sein, da hier direkt verarbeitet werden kann und nicht erst alles gelesen werden muss.
-
 Zitat von Fuerchau
Ja, man muss sich nur mal das Konstrukt genauer ansehen:
Code:
values
(kdnr, ans1, name1, ort1),
(kdnr, ans2, name2, ort2),
(kdnr, ans3, name3, ort3)
) as tab_data(kdnr, ans, name, ort)
Ich habe lateral ähnlich gesehen wie beim Join mit einer anderen Tabelle.
Hier bezieht sich Values() direkt auf die From-Table. Das hatte ich so genau nicht gesehen.
Diese Variante kannte ich noch nicht, hilft mir aber nun auch bei anderen ähnlichen Konstrukten, da es in ERP's durchaus ähnliche Strukturen gibt.
Da hier kein zusätzlicher Zugriff erfolgt, könnte diese Abfrage sogar schneller als der Union sein, da hier direkt verarbeitet werden kann und nicht erst alles gelesen werden muss.
... it depends on optimizer!
Ein SQL Statement beschreibt (laut SQL Standard) ein ResultSet und keine Zugriffsmethode und das ist gerade der Vorteil gegenüber ISAM - was der Optimizer daraus macht, sagt dann etwas über die Qualität der Datenbank Implementierung aus.
D*B
-
So, nun habe ich das mal selber mit XPPS-Tabellen ausprobiert. Da gibt es haufenweise Tabellen, die solche Strukturen haben.
Laut Visual Explain wird für die Values-List kein IO benötigt und der nested loop join benötigt kaum messbare Zeit.
Die Tabelle hat ca. 10 Mio Zeilen und die Ergebnisse kommen sauschnell.
Similar Threads
-
By hwalk in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 06-07-17, 11:54
-
By Lesca in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 16-04-15, 07:25
-
By harkne in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 05-08-14, 21:47
-
By dino in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 07-04-14, 13:21
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