-
Ein Vergleich RLA und SQL hängt von vielen Faktoren ab und ist meist erst bei vielen 1000 Zugriffen nachweislich messbar. Durch Cache wird vieles im Speicher abgehandelt was zusätzlich noch von den anderen Mitbewerbern (Jobs) um Ressourcen beeinflusst wird.
Bin ich wirklich alleine auf der Maschine kann ich halbwegs reelle Messergebnisse erwarten.
Soviel zu RPG/LE:
Jeder Read führt dazu, dass alle verwendeten Variablen zuerst aus dem Readbuffer übertragen werden müssen. Dabei ist es schädlich, eine DS aller Felder zu definieren da der Compiler so intelligent ist, dass nur tatsächlich referierte Felder generiert werden.
Hier ist also die Zeit der Übertragung (merkbar bei Millionen von Zugriffen) hinzuzurechnen.
In ILERPG kann ich den Update "beschleunigen" in dem ich die zu ändernde Feldliste aufführe, damit werden auch nur diese Inhalte in den Puffer zurückübertragen.
Bei SQL kommt sicherlich ein Verwaltungsoverhead dazu der ODP's überprüfen muss bevor ein Zugriff erfolgt. Diese Zeiten sind u.U. nicht zu verachten wenn man (wie gesagt) Millionen von Operationen vorhat.
Aber was macht es tatsächlich aus?
Hier ein historischer Vergleich aus einer von mir betreuten Altanwendung:
In eine Statistikdatei werden neue Sätze mit Verarbeitungsflag geschrieben.
Ein Batchprogramm verarbeitet per Input Primary eine Statistikdatei von (Tendenz steigend) 100.000 Sätzen um neue Daten in andere Dateien zu verteilen. Dabei werden halt alle Sätze gelesen und nach den neuen Sätzen gesucht.
Diese Verarbeitung dauerte ca. 1998 noch mehrere Minuten und wurde deshalb nur 1 x je Woche durchgeführt.
Stand heute mit schnelleren Maschinen dauert die Verarbeitung nur wenige Sekunden und wird daher mehrmals täglich durchgeführt.
Bei einem anderen Kunden musste ich aus mehreren Dateien statistische Werte berechnen.
Hier habe ich mir die Programmierung gespart und per QM-Query einen mehrere Seiten umfassenden SQL gestrickt. er enthält viele CTE's, skalare Subselects, diverse Group-By's.
Bei der Ausführung im Dialog weist mir SQL mehr als 12 Milliarden verarbeitet Sätze aus!
Der SQL dauert aber nur ca. 1 Minute incl. Erstellung einer Ausgabedatei mit ca. 15.000 Ergebnisssätzen.
Ich denke mit RLA hätte ich das so nicht hinbekommen.
Similar Threads
-
By msost in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 25-07-14, 15:54
-
By Gimli in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 10-03-03, 13:08
-
By Peter Kosel in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 18-10-01, 13:49
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