Nun muss ich diesen Beitrag noch mal aufwärmen.
Ein Kunde ist nun von V5R4 nach V7R1 umgezogen. Von der Anwendung her war das auch problemlos.
Allerdings weigert sich die Maschine einen speziellen SQL, der mit V5R4 performant war, nun ebenso performant abzuarbeiten.
Wie gesagt, es dreht sich nur um SQL per ODBC und kann auch nicht mit ILERPG abgelöst werden.

Der SQL ist schon sehr komplex, mit 2 CTE's mit "Group By" und 4 derived Tables.
Sämtliche Indexanalysen wurden durchgeführt, ALLE vorgeschlagenen Indizes wurden angelegt.
Zur Ausführungszeit wird aber keiner dieser Indizes (mit Aussage 5) verwendet.

Täglich werden damit ca. 350.000 Sätze abgeholt, was auf der alten Maschine (V5R4) mit ca. 320 Sätzen /Sekunde was also ca. 20 Minuten dauerte.
Nun wird das Abholen mit ca. 12 Sätzen/Sekunde durchgeführt (manchmal auch weniger), was ca. 8 Stunden oder mehr dauert. Damit kann die Aktualität der Daten nun nicht mehr gewährleistet werden.
Wer wartet schon 8 Stunden auf aktuelle Daten, die morgens um 08:00 Uhr zur Verfügung stehen sollen und bei einem 24/7-Betrieb noch bis 07:00 Uhr verändert werden können.

Leider zeigt der Kunde da nicht das geringste Verständnis für die Aufwände, um diesen SQL zu überarbeiten, damit er für V7R1 passt.

Ach ja, es muss noch gesagt werden, dass die Abfrage ausschließlich auf DDS-Tabellen geht, die NICHT in SQL-Tables umgewandelt werden können. Auch sonstige Modifikationen an den Tabellen (Trigger o.ä.) sind nicht erlaubt, da es ja die aktuelle Anwendung auf der AS/400 betrifft und außerdem das Unternehmen des amerikanischen SOX-Audit's unterliegt.