Anmelden

View Full Version : Embedded SQL - Performance-Probleme



Seiten : 1 2 [3]

BenderD
06-09-04, 14:26
Hallo Alex,


ich habe mitterweile mal beim Debug die Meldungen angeschaut...

was ist denn mit Abfrageoptionsdatei gemeint?
eine F1 auf die Meldung bringt folgendes zu Tage:

damit kann ich nichts anfangen.

Auch die Meldung "Wartezeit für Abfrageoptimierungsprogramm für Datei NC6000 überschritten." ist mir schleierhaft.
Ich habe ALLE Key-Felder in korrekter Reihenfolge in meiner "Where"-Klausel.
Er hat im Endeffekt auch die korrekte LF (was in diesem Fall die PF ist) verwendet... Die Meldung erstaunt mich allerdings.


zudem habe ich Probleme mit "Datenumsetzung für Anweisung INSERT oder UPDATE erforderlich. "
dort wird das Feld BWOT angemeckert (BWOT ist 17 A)
Ich habe aufgrund dieser Meldung z.B. alpha-Felder mit der korrekten Länge angegeben z.B. anstatt bwot = 'test' in korrekter Länge bwot = 'test '
Die Meldung erscheint aber weiterhin, oder ist hiermit etwas anderes gemeint?

Gruss Alex

mit Abfrage Optionsdatei ist die Datei QAQQINI gemeint, die eigentlich vorhanden sein sollte und Einstellparameter für die Query Engine enthält. Das deutet auf einen mangelnden Gruppen PTF Stand hin, was auch zu Deinem Problem beitragen könnte.
Wartezeit ... meint: der Query Optimizer hat seine maximale Zeit überschritten, die Suche nach einem Zugriffspfad wird abgebrochen und der bisher optimale wird verwendet. Das wäre kein Drama, wenn es sich nicht um dynamisches SQL handeln würde, wo der Optimizer jedesmal beim prepare oder execute immediate zuschlägt. Das ist wohl eines Deiner Probleme. Ursache dafür könnte eine große Anzahl logischer Dateien über Deiner physischen sein.
Lösungsweg besteht in aktuellem Group PTFs für die Datenbank einspielen und Du musst von Deinem dynamischen SQL runter und notfalls mit entsprechender Verzweigungslogik auf feste SQL Statements umsteigen, wenn das flotter werden soll.

mfg

Dieter Bender

MrBonZai
07-09-04, 07:44
mit Abfrage Optionsdatei ist die Datei QAQQINI gemeint, die eigentlich vorhanden sein sollte und Einstellparameter für die Query Engine enthält. Das deutet auf einen mangelnden Gruppen PTF Stand hin, was auch zu Deinem Problem beitragen könnte.
ich habe mal nach der Datei gesucht. Sie ist in QSYS vorhanden.
QAQQINI *FILE QSYS PF QUERY OPTIONS FILE

muss ich hier irgendetwas umstellen, damit er nicht auf die QUSRSYS zugreift?
Die Meldung lautete ja so:

Ursache . . . . : Die Abfrageoptionen konnten aus Teildatei QAQQINI in Datei QAQQINI in Bibliothek QUSRSYS aufgrund von Ursachencode 2 nicht abgerufen

BenderD
07-09-04, 08:51
Hallo Alex,


ich habe mal nach der Datei gesucht. Sie ist in QSYS vorhanden.
QAQQINI *FILE QSYS PF QUERY OPTIONS FILE

muss ich hier irgendetwas umstellen, damit er nicht auf die QUSRSYS zugreift?
Die Meldung lautete ja so:

direkter Handlungsbedarf ist hier nicht, aber nochmal: wie sieht es mit den Gruppenptfs Database aus? (Details sind Release abhängig!)

mfg Dieter Bender

MrBonZai
08-09-04, 07:36
wie sieht es mit den Gruppenptfs Database aus? (Details sind Release abhängig!)

Ich habe mal in unserer IT nachgefragt.
Der letzte installierte Group-PTF für V4R5 ist vom 22.1.2003.

BenderD
08-09-04, 09:16
Hallo Alex,

V4R5? das ist ja Asbach vom Feinsten - wenn ich das noch zusammen bringe, dann müsste es in einer der Qxxx Bilbliotheken eine DTAARA SF99105 geben, in der der Fix Level für die Datenbank drinsteht; das sollte man vielleicht nochmal verifizieren.
Ansonsten wäre der nächste offene Punkt noch wieviele logische hocken denn nun auf Deiner Datei drauf? Wenn das wirklich "Legionen" sind, dann musst Du an das Design Deiner Anwendung dran und weg von der "Billiglösung" mit dem fully dynamic Ansatz.

mfg

Dieter Bender


Ich habe mal in unserer IT nachgefragt.
Der letzte installierte Group-PTF für V4R5 ist vom 22.1.2003.

MrBonZai
08-09-04, 09:43
V4R5? das ist ja Asbach vom Feinsten
:)
Ja klar... wir sind Softwarehersteller und müssen zwangsläufig den niedigsten Release-Stand unserer Kunden halten... ;)

Gruss Alex

Rincewind
08-09-04, 11:08
Hi,


in einem Vorlauf CL kannst du per

CHGQRYA QRYOPTLIB(QSYS) umstellen.

Wahlweise kannst du auch eine eigene Erstellen (erstmal zum testen)
und die dann ansprechen.

Aber bei Interaktiven Jobs drauf achten dass du anschliessend wieder
CHGQRYA QRYOPTLIB(QUSRSYS)
absetzt. Sonst verändern sich alle SQL Zeiten für nachfolgende Programme.

In der QAQQINI kann man verschiedene Einstellungen vornehmen um gewisse SQL Abläufe zu beschleunigen.

Die Feldumsetzung bei dem STRDBG ist bei meinen eigenen Programmen meist bei den Numerischen Feldern ein Problem zwischen Gezont und Gepackt. Hast du nur Alphanumerische Felder?


Rince