PDA

View Full Version : Frage zu QRY-Performance



hs
27-08-01, 09:07
Ich habe eine ganz allgemeine Abfrage zu QRY - Abfragen:

Wie kann ich durch geschickte Gestaltung einer Abfrage die Performance beeinflussen?

Ich denke da an:
- die Reihenfolge unter Satzauswahl
- die Reihenfolge bei der Dateiverknüpfung
- Anlegen von speziellen logischen Dateien

u.s.w..

Danke für Eure Antworten
HS

Fuerchau
27-08-01, 09:21
Die Reihenfolge der Verknüpfung sollte nach der Wahrscheinlichkeit des Vorkommens gewählt werden. Also, die Datei, mit den wenigsten Sätzen sollte zuerst gewählt werden.
Bei den verknüpften Feldern sollten für die Felder auf der rechten Seite der Verknüpfung Zugriffspfade vorhanden sein und zwar am besten auch in der Reihenfolge der Felder.
Das selbe gilt auch für Felder in der Satzauswahl. Existieren die Felder in einem Zugriffspfad kann Query diesen auch verwenden.
Dies gilt allerdings nicht für LF's, die selbst wiederum SELECT/OMIT enthalten, da hier ja ggf. andere Kriterien verwendet werden als in der aktuellen Satzauswahl.

Desweiteren gilt auch für Sortierungen, dass nach Möglichkeit Zugriffswege vorhanden sind.
Leider hat man hier ggf. ein Problem, da in der Satzauswahl evtl. andere Kriterien gelten als anchließend bei der Sortierung.

In vielen Fällen kann einem das System hierbei helfen:

Mittels des Befehls STRDBG ohne weitere Angaben VOR Start des Query's werden entsprechende Informationen in das Joblog geschrieben.
Hier finden Sie Hinweise über verwendete Zugriffswege sowie über empfohlene Zugriffe, die dann ggf. angelegt werden können.
Nach Ende des Query's sollten Sie ENDDBG nicht vergessen.

andigoering
27-08-01, 09:57
Hallo!

Zur Optimierung von Query habe ich mir schon monatelang (kein Witz) den Kopf zerbrochen. Der Ansatz über STRDBG war zunächst auch mein Favorit, bis ich gemerkt habe, daß die Informationen ziemlich unvollständig waren.

Nun ermittliche ich mir über ein spezielles Verfahren die Verknüpfungen und Sortierungen im Query. Aufgrund dieser Daten lege ich logische Dateien an. Damit ist nicht alles "kleinzugriegen" aber doch einiges.

Übrigens: Aus meinen Erfahrungen wurde ein kommerzielles Tool (siehe http://www.Queryopt.de (http://www.Queryopt.de)) Dieses bietet noch eine ganze Reihe andere Funktionalitäten.

Übrigens: Was meinem Tool ehrlicherweise ebenfalls Probleme macht sind Ergebnisfelder im Query, wenn diese in der Verknüpfung oder Sortierung verwendet werden. Hier hat sich gezeigt, daß eine Aufteilung eines Query in kleinere Query mit Dateiausgabe auch eine gute Strategie sein kann.

Grüße

Andreas Göring

[Dieser Beitrag wurde von andigoering am 27. August 2001 editiert.]

hs
27-08-01, 11:08
Wie erstelle ich einen Zugriffspfad?

andigoering
27-08-01, 12:29
Ein Zugriffspfad ist nichts anderes als eine log. Datei.

Diese ist zu erstellen entweder über DDS oder SQL (Create Index...).

Grüße

Andreas Göring