Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » Einführung in die Programmierung mit SQL Anywhere » SQL in Anwendungen verwenden

 

Anweisungen vorbereiten

Sobald eine Anweisung an eine Datenbank gesendet wird, muss der Datenbankserver folgende Schritte ausführen:

  • Er muss die Anweisung syntaktisch analysieren und in eine interne Form umwandeln. Dies wird auch als Vorbereitung der Anweisung bezeichnet.

  • Er muss die Richtigkeit aller Referenzen auf Datenbankobjekte überprüfen, z.B. ob in der Abfrage genannte Spalten existieren.

  • Der Abfrageoptimierer erzeugt einen Zugriffsplan, falls die Anweisung Joins oder Unterabfragen umfasst.

  • Er führt die Anweisung aus, nachdem alle diese Schritte durchgeführt wurden.

Die Wiederverwendung von vorbereiteten Anweisungen kann die Performance verbessern

Wenn Sie dieselbe Anweisung immer wieder verwenden, etwa das Einfügen von mehreren Zeilen in eine Tabelle, kommt es zu bedeutenden und unnötigen Overheads durch die wiederholte Vorbereitung der Anweisung. Um dies zu vermeiden, bieten einige Datenbank-Programmierschnittstellen eine Möglichkeit zur Verwendung von vorbereiteten Anweisungen. Eine vorbereitete Anweisung ist eine Anweisung, die eine Reihe von Platzhaltern enthält. Wenn Sie die Anweisung ausführen wollen, müssen Sie den Platzhaltern nur Werte zuweisen, anstatt die gesamte Anweisung erneut vorzubereiten.

Der Einsatz von vorbereiteten Anweisungen ist besonders dann nützlich, wenn viele ähnliche Aktionen ausgeführt werden, wie etwa das Einfügen von vielen Zeilen.

Im Allgemeinen erfordern vorbereitete Anweisungen die folgenden Schritte:

  1. Vorbereiten der Anweisung

    In diesem Schritt versehen Sie die Anweisung im Allgemeinen mit einigen Platzhalter-Zeichen anstelle von Werten.

  2. Wiederholtes Ausführen der vorbereiteten Anweisung

    In diesem Schritt liefern Sie Werte, die jedes Mal benutzt werden sollen, wenn die Anweisung ausgeführt wird. Die Anweisung braucht nicht jedes Mal vorbereitet zu werden.

  3. Löschen Sie die·Anweisung

    In diesem Schritt geben Sie die Ressourcen frei, die für die vorbereitete Anweisung in Beschlag genommen wurden. Einige Programmierschnittstellen verarbeiten diesen Schritt automatisch.

Keine Anweisungen vorbereiten, die nur einmal verwendet werden

Im Allgemeinen sollten Sie Anweisungen nicht vorbereiten, wenn sie nur einmal ausgeführt werden sollen. Bei getrennter Vorbereitung und Durchführung kommt es zu leichten Einbußen bei der Performance, und außerdem werden dadurch unnötig komplizierte Schritte in die Anwendung eingefügt.

Bei manchen Schnittstellen müssen Sie allerdings eine Anweisung vorbereiten, um sie mit einem Cursor zu verbinden.

Hinweise zu Cursor finden Sie unter Der Cursor.

Die Aufrufe für die Vorbereitung und Ausführung von Anweisungen sind nicht Teil der SQL und unterscheiden sich daher je nach verwendeter Schnittstelle. Jede Programmierschnittstelle von SQL Anywhere bietet eine Methode für die Verwendung von vorbereiteten Anweisungen.


Vorbereitete Anweisungen verwenden