willkommen im Club,
... aber vielleicht fällt ja jemand noch ein Workaround ein, je nach vorliegender Konstellation (ohne Statement und Release wohl schwierig)
- Kosten für alternative Zugriffsstrategien durch order by verteuern
- where in exists und co als Join umformulieren
- left join statt inner join
- reroute zu CQE erzwingen
- mit neuem Release lange genug warten
- bei Batchabfragen mit temp Extrakten arbeiten

PS: dass da kein Problem mit CCSID bei Erstellung <> Abfrage vorliegt, nehme ich mal an!

D*B

Zitat Zitat von Fuerchau Beitrag anzeigen
Auch wenn Birgitta da anderer Meinung sein wird, ich verstehe den Optimizer schon lange nicht mehr:

Da existieren auf jeden Fall passende LF's ohne jedwede Einschränkung (SELECT/OMIT), es ist auch keine LF mit Select/Omit überhaupt vorhanden.
Der Optimizer begründet die Nichtauswahl mit Aussage 4:
4 - Die Kosten zur Verwendung dieses Zugriffspfads, die vom
Optimierungsprogramm ermittelt wurden, sind höher als die Kosten für die
ausgewählte Zugriffsmethode.
Anschließend wird ein Zugriffspfad mit genau den existierenden Schlüsselfeldern erstellt !
Andererseits wird behauptet, dass ein Zugriffspfad einer weiteren Datei mit Ursache 0 verwendet wird und prompt wird trotzdem ein neuer Zugriffspfad mit identischen Schlüsselfeldern erstellt.

Dies führt in Folge dazu, dass allein die Abfragedauer bis zum 1. Satz 110 Sekunden benötigt.

Für eine weitere Tabelle wird sogar ein Cast in der Join-Beziehung durchgeführt, was hier den Optimzer überhaupt nicht stört und in Folge der korrekte Zugriffsweg sogar verwendet wird:

left join afp1 on aefirm=p1firm and aewknr=p1wknr and zoned(case aequel when 'V' then substr(aelpnn, 1, 7) else '0' end , 7, 0)=p1afnr and aehpos=p1afhp