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 Zitat von Allrounder Beitrag anzeigen
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.