-
SQL Performance
Ich habe folgenden Effekt:
Ein RPG-Programm liest in einer Schleife eine Physische Datei
und gibt den Inhalt nach einigen rtrim und diversen Datumsprüfungen mit einem Insert (Embedded) in eine SQL-Tabelle aus.
Das Problem ist nun die Laufzeit. Es sind 11,7 Mio Datensätze, die geschrieben werden. Die ersten 4-5 Millionen Datensätze gehen schnell, hochgerechnete Gesamtlaufzeit ca. 2 Stunden. Dann wird das Schreiben der Datensätze kontinuierlich langsamer, bei 8-9 Mio Datensätzen ist die Geschwindigkeit der Inserts so langsam, dass der Job ganz in die Knie geht. Aus den 2 Stunden werden dann 23(!) Stunden.
Weiß jemand, wo die Zeit verlorengeht oder wie ich am besten herausfinde, wo das Problem ist? Hatte bisher keine großen SQL-Performance-Probleme und habe mich deshalb noch nicht damit auseinandergesetzt.
Die SQL-Tabelle ist eine Standalone-Tabelle, keine Views, keine Verknüpfungen über Foreign Keys. Es gibt einen Primary Key über eine Idenditätsspalte und einen nicht eindeutigen Index über eine weitere Spalte.
-
als erstes würde ich hier immer STRDBMON (mit allen Details) empfehlen, um abzuklären, ob das wirklich am INSERT liegt (und nicht am lesen von gelöschten Sätzen). Wenn die Problembeschreibung exakt ist, dann müsste man über die Zeit zunehmende Insert Zeiten sehen. Dann würde ich mal PTF Stand Database verifizieren. Stimmt das mit den Indexen und Constraints wirklich??? der Effekt an sich riecht nach Index Einflüssen.
D*B
Zitat von Allrounder
Ich habe folgenden Effekt:
Ein RPG-Programm liest in einer Schleife eine Physische Datei
und gibt den Inhalt nach einigen rtrim und diversen Datumsprüfungen mit einem Insert (Embedded) in eine SQL-Tabelle aus.
Das Problem ist nun die Laufzeit. Es sind 11,7 Mio Datensätze, die geschrieben werden. Die ersten 4-5 Millionen Datensätze gehen schnell, hochgerechnete Gesamtlaufzeit ca. 2 Stunden. Dann wird das Schreiben der Datensätze kontinuierlich langsamer, bei 8-9 Mio Datensätzen ist die Geschwindigkeit der Inserts so langsam, dass der Job ganz in die Knie geht. Aus den 2 Stunden werden dann 23(!) Stunden.
Weiß jemand, wo die Zeit verlorengeht oder wie ich am besten herausfinde, wo das Problem ist? Hatte bisher keine großen SQL-Performance-Probleme und habe mich deshalb noch nicht damit auseinandergesetzt.
Die SQL-Tabelle ist eine Standalone-Tabelle, keine Views, keine Verknüpfungen über Foreign Keys. Es gibt einen Primary Key über eine Idenditätsspalte und einen nicht eindeutigen Index über eine weitere Spalte.
-
Die Frage die sich stellt, ist ob Du evtl. die Sätze sortiert einliest und auch genaus so sortiert wegschreibst.
Es gibt nix schlimmeres für einen Index als wenn er sofort sortiert ist. (Zumindestens habe ich das mal vor 15 Jahren so gelernt bei B-Tree und Konsorten).
Gruß
Gregor
-
das mag vor 15 Jahren mal gestimmt haben...
Zitat von KingofKning
Die Frage die sich stellt, ist ob Du evtl. die Sätze sortiert einliest und auch genaus so sortiert wegschreibst.
Es gibt nix schlimmeres für einen Index als wenn er sofort sortiert ist. (Zumindestens habe ich das mal vor 15 Jahren so gelernt bei B-Tree und Konsorten).
Gruß
Gregor
-
Erst einmal vielen Dank. Ich werde den STRDBMON aufsetzen. Entspricht das dem SQL Performance Monitor im iSeries Navigator?
-
im OOPs Nerv heißt das Ding in jeder Version anders, dahinter steht dann ein STRDBMON auf der AS/400 (kann man Job bezogen starten - beenden nicht vergessen, immer mit vollen details starten). Auswerten muss man das (leider) mit OOPs Nerv (wenn es denn funktioniert). Das Tool (Database Monitor) ist genial, die Benutzeroberfläche (OOPs Nerv) eine Frechheit!!!
D*B
Zitat von Allrounder
Erst einmal vielen Dank. Ich werde den STRDBMON aufsetzen. Entspricht das dem SQL Performance Monitor im iSeries Navigator?
Similar Threads
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 16-11-06, 10:15
-
By mariupol1963 in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 11-08-06, 13:06
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
By pwrdwnsys in forum IBM i Hauptforum
Antworten: 10
Letzter Beitrag: 16-08-05, 08:56
-
By itec01 in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 16-09-04, 18:38
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