Alternative Anweisungen zu Dateien im pureQueryXML-Editor hinzufügen

In einer pureQueryXML-Datei können Sie SQL-Anweisungen für Ihre Anwendung hinzufügen, die anstelle von erfassten Anweisungen ausgeführt werden sollen.

Informationen zu diesem Vorgang

Nachdem Sie SQL-Anweisungen in einer pureQueryXML-Datei erfasst haben, stellt sich möglicherweise heraus, dass bestimmte Anweisungen nicht die für Ihre Anwendung erforderliche Leistung erbringen. Da Sie dies aber erst spät in Ihrem Entwicklungszyklus feststellen, ist das Ändern Ihrer Anwendung unter Umständen nicht mehr möglich. Sie können die pureQueryXML-Datei bearbeiten, indem Sie eine alternative SQL-Anweisung für jede SQL-Anweisung hinzufügen, die nicht die gewünschte Leistung erbringt. Wenn Sie Ihre Anwendung ausführen, verwendet pureQuery die alternativen SQL-Anweisungen statt der ursprünglich von Ihnen erfassten SQL-Anweisungen.

So kann z. B. eine SQL-Anweisung eine schlechte Leistung erbringen, nachdem Sie angefangen haben, Statistikdaten für eine Tabelle zu erfassen. Tritt dieses Problem in einem Produktionssystem auf, muss möglicherweise der Datenbankadministrator die Änderungen an der Tabellenstatistik zurücknehmen oder eine SQL-Änderung in der Anwendung anfordern. Mit pureQuery kann der Datenbankadministrator diese Optionen übergehen und einfach eine alternative SQL-Anweisung zu der pureQueryXML-Datei hinzufügen, in der die Anweisung mit der schlechten Leistung vorhanden ist.

Durch das Hinzufügen alternativer Anweisungen haben Sie die folgenden Möglichkeiten:
  • Beeinflussen eines Zugriffspfads, indem Sie OPTIMIZE FOR 1 ROW hinzufügen.
  • Beeinflussen der Indexverwendung, indem Sie eine Klausel ORDER BY hinzufügen.
  • Beeinflussen des Abrufumfangs für dezentrale Abfragen, indem Sie eine Klausel FETCH FIRST n ROWS ONLY, eine Klausel OPTIMIZE FOR n ROWS oder eine Klausel FOR FETCH ONLY hinzufügen.
  • Ändern des Sperrverhaltens mit einer Klausel WITH ISOLATION oder einer Klausel SKIP LOCKED DATA.
  • Verwalten von EXPLAIN-Daten mit einer Klausel QUERYNO.

Sie können auswählen, ob die alternativen SQL-Anweisungen gebunden werden sollen, nachdem sie hinzugefügt wurden. Wenn Sie sie nicht binden, aber dennoch verwenden wollen, müssen Sie für die Eigenschaft enableDynamicSQLReplacement den Wert TRUE festlegen, wenn Sie Ihre Anwendung ausführen.

Sie können jeder SQL-Anweisung eine alternative Anweisung hinzufügen, außer wenn sie den beiden folgenden Typen angehört:

Gehen Sie wie folgt vor, um alternative Anweisungen hinzuzufügen oder um alternative Anweisungen zu bearbeiten:

Vorgehensweise

  1. Klicken Sie mit der rechten Maustaste auf die Anweisung, die während der Ausführung durch die alternative Anweisung ersetzt wird, und wählen Sie Anweisung bearbeiten aus.
  2. Legen Sie die Werte für diese beiden Felder fest, die sich oben im Editor befinden. Die angegebenen Werte gelten für alle SQL-Anweisungen, die in der pureQueryXML-Datei enthalten sind.
    Standardschema
    Wählen Sie den Namen des Schemas aus, das für nicht qualifizierte Datenbankobjektverweise in SQL-Anwendungen verwendet werden soll, die Sie hinzufügen oder bearbeiten, oder geben Sie den Namen des Schemas ein. Wenn SQL-Anweisungen auf Datenbankobjekte verweisen sollen, die sich in anderen Schemata befinden, müssen Sie die Namen der Objekte mit den Namen der entsprechenden Schemata qualifizieren.
    Standardpfad
    Geben Sie den SQL-Pfad ein, der verwendet werden soll, um Funktionsreferenzen und Datentypreferenzen in SQL-Anweisungen, die Sie hinzufügen oder bearbeiten, aufzulösen. Mit diesem Wert können außerdem Referenzen für gespeicherte Prozeduren in CALL-Anweisungen aufgelöst werden.

    Geben Sie den Standardpfad als Liste an, die einen einzelnen Schemanamen oder mehrere, durch Kommata getrennte Schemanamen enthält. Optional können Sie einen Schemanamen in Anführungszeichen einschließen, damit die Groß-/Kleinschreibung beibehalten wird. Beispiel: FERMAT, "McDrw #8", SYSIBM.

  3. Fügen Sie die alternative Anweisung ein oder geben Sie sie ein.

    Tipp: Mit dem Vergleichseditor können Sie die alternative Anweisung mit der Originalanweisung vergleichen. Wählen Sie beide Anweisungen aus, klicken Sie mit der rechten Maustaste darauf und wählen Sie Vergleichen aus.

    Einschränkungen:
    • Wenn eine SQL-Anweisung benannte Parametermarken enthält, muss die alternative Anweisung dieselbe Anzahl an Parametermarken enthalten und die Parametermarken müssen in derselben Reihenfolge vorhanden sein.
    • Die Ergebnismenge einer alternativen Anweisung SELECT muss mit der Ergebnismenge der ursprünglichen Anweisung SELECT übereinstimmen.
  4. Drücken Sie die Eingabetaste, nachdem Sie die alternative Anweisung hinzugefügt oder bearbeitet haben. Der Editor überprüft die neue Anweisung auf Kompatibilität mit der vorherigen Anweisung.

    Wenn die Ersatzanweisung kompatibel ist, können Sie entscheiden, ob Sie sie statisch oder dynamisch ausführen wollen.

    • Wenn Sie die Anweisung statisch ausführen wollen und Sie für die Ausführung Ihrer Anwendung executionMode auf STATIC gesetzt haben, wählen Sie das Kontrollkästchen Binden aus, das sich daneben befindet. Die Anweisung wird dem DB2-Paket hinzugefügt, das Sie beim Binden der pureQueryXML-Datei aus der Anweisungsgruppe erstellen.
    • Wenn Sie die Anweisung dynamisch ausführen wollen, obwohl Sie für die Ausführung Ihrer Anwendung executionMode auf STATIC gesetzt haben, wählen Sie das Kontrollkästchen Binden, das sich daneben befindet, nicht aus. Vergessen Sie nicht, vor dem Ausführen Ihrer Anwendung die Clientoptimierungseigenschaft enableDynamicSQLReplacement auf TRUE zu setzen.

Feedback