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.

Wenn Sie diese alternativen Anweisungen verwenden wollen, müssen Sie die Eigenschaft enableDynamicSQLReplacement auf TRUE setzen, 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:

Vorgehensweise

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

  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. Wählen Sie in dem oben im Editor angezeigten Feld Standardschema den Namen des Schemas aus, das für nicht qualifizierte Verweise auf Datenbankobjekte in SQL-Anweisungen 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. Die in diesem Feld angegebenen Werte gelten für alle SQL-Anweisungen, die in der pureQueryXML-Datei enthalten sind.
  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.

Feedback