Erläuterung: Wird ein Datenbankaufruf in einem Nachrichtenflussknoten abgesetzt, erstellt der Nachrichtenfluss die entsprechende SQL-Anweisung, die über eine ODBC-Verbindung an den Datenbankmanager gesendet wird. Die SQL-Anweisung wird als Teil dieses Prozesses mithilfe der
SQLPrepare-Funktion vorbereitet und es wird eine Anweisungskennung angefordert, damit die SQL-Anweisung ausgeführt werden kann. Nach dem Erstellen der Anweisung werden diese und die Kennung zwischengespeichert, um die Anzahl der Aufrufe der SQLPrepare-Funktion zu verringern und somit die Systemleistung zu erhöhen. Wenn sich die Anweisung bereits im Cache befindet, wird die Anweisungskennung zurückgegeben, damit sie mit den neu verbundenen Parametern erneut ausgeführt werden kann.
Die Zeichenfolge der Anweisung wird zur Ausführung der Suchfunktion des Zwischenspeichers verwendet. Durch die Verwendung von fest codierten SQL-Zeichenfolgen, die für jede Nachricht etwas voneinander abweichen, kann die Anweisung nicht im Cache gefunden werden, und somit wird immer eine SQLPrepare-Funktion ausgeführt (und ein neuer ODBC-Cursor wird geöffnet). Verwenden Sie Parametermarken in PASSTHRU-Anweisungen, damit ein und dieselbe vorbereitete SQL-Anweisung für jede Nachricht verarbeitet werden kann; die Parameter werden zur Laufzeit gebunden. Diese Methode ist effizienter in Bezug auf Datenbankressourcen und schneller bei Anweisungen, die wiederholt ausgeführt werden.
Allerdings können Parametermarken nicht immer verwendet werden oder Sie ziehen es möglicherweise vor, SQL-Anweisungszeichenfolgen während der Ausführung dynamisch zu erstellen. Dies kann dazu führen, dass viele eindeutige SQL-Anweisungen zwischengespeichert werden. Der Cache selbst wird dabei nicht größer, da diese Anweisungen in der Regel nicht sehr groß sind; allerdings kann die Belegung vieler kleiner Speicherfragmente zu einer Speicherfragmentierung führen.