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.