Im ODBC kann man keinen Commitlevel einstellen, wenn die Dateien auf Ihrer AS/400 nicht journalisiert werden !
Über DSPFD kann man dies überprüfen.
Ein eingestellter Commitlevel wird dann ignoriert.
Vergessen Sie QZDASOINIT !

Prüfen Sie Ihre SQL-Statements auf WHERE und ORDER BY-Klauseln.
Mittels DSPDBR auf der AS/400 ermitteln Sie alle Indizes einer PF-Datei.
Mittels DSPFD der LF-Dateien können Sie die Schlüsselreihenfolge ermitteln.
Löschen Sie alle LF-Dateien, deren Schlüsselfolge nicht benötigt wird.
Legen Sie mittels CREATE INDEX genau die Schlüssel an, die Sie in Ihren WHERE oder ORDER-Klauseln benötigen !

Bei Joins achten Sie auf die Verknüpfung JOIN ON (t1.x1=t2.x1 usw) UND auf die WHERE-Klausel.
Nach Möglichkeit sollte auch hierfür ein Index erstellt werden.

Sie können den Join auch mit CREATE VIEW direkt auf der AS/400 erstellen. Es wird dann eine entsprechende LF-Datei angelegt.

Der SQL-Optimizer prüft alle WHERE, ORDER, JOIN, GROUP-Klauseln, ob ein Index besteht, verwendet werden kann oder ein temporärer Index angelegt werden muss, der leider anschließend sofort wieder entfernt wird.

Ich hoffe ich konnte etwas helfen.