DB2 Universal Database - Systemverwaltung


Zeilenblockung

Zeilenblockung ist eine Technik, die den Systemaufwand des Datenbankmanagers durch Abrufen eines Blocks von Zeilen in einer einzigen Operation reduziert. Diese Zeilen werden in einem Cache gespeichert. Jede Abrufanforderung (FETCH) in der Anwendung empfängt die nächste Zeile aus dem Cache. Wenn alle Zeilen eines Blocks verarbeitet wurden, wird vom Datenbankmanager ein anderer Block von Zeilen abgerufen.

Der Cache wird zugeordnet, wenn eine Anwendung eine Anforderung OPEN CURSOR absetzt, und wird wieder freigegeben, wenn der Cursor geschlossen wird. Die Größe des Cache wird durch einen Konfigurationsparameter festgelegt, der zur Zuordnung von Speicher für den E/A-Block verwendet wird. Der verwendete Parameter ist davon abhängig, ob der Client lokal oder fern ist:

Für lokale Anwendungen können Sie mit der folgenden Formel abschätzen, wie viele Zeilen pro Block zurückgegeben werden. Dabei gilt folgendes:

Zeilen pro Block = aslheapsz * 4096 / azl

Für ferne Anwendungen können Sie mit der folgenden Formel abschätzen, wie viele Zeilen pro Block zurückgegeben werden. Dabei gilt folgendes:

Zeilen pro Block = rqrioblk / azl

Beachten Sie, daß bei Verwendung der Klausel FETCH FIRST n ROWS ONLY oder OPTIMIZE FOR n ROWS in einer Anweisung SELECT die Anzahl der Zeilen pro Block dem kleinsten der folgenden Werte entspricht:

Verwenden Sie die Option BLOCKING für die Befehle PREP und BIND, um eine der folgenden Zeilenblockungsarten anzugeben:

UNAMBIG
Die Blockung wird für Nur-Lese-Cursor und für Cursor, die nicht als "FOR UPDATE OF" definiert sind, verwendet. Mehrdeutige Cursor werden als aktualisierbar betrachtet.
ALL
Die Blockung wird für Nur-Lese-Cursor und für Cursor, die nicht als "FOR UPDATE OF" definiert sind, verwendet. Mehrdeutige Cursor werden wie Nur-Lese-Cursor betrachtet.
NO
Es wird keine Blockung für Cursor verwendet. Mehrdeutige Cursor werden wie Nur-Lese-Cursor betrachtet.

Einzelheiten zu diesen Arten der Zeilenblockung finden Sie in den Beschreibungen der Befehle PREP und BIND im Handbuch Command Reference.

Wenn in den Befehlen PREP und BIND keine Option angegeben wird, ist die Standardoption für Zeilenblockung UNAMBIG. Bei Verwendung des Befehlszeilenprozessors und von Call Level Interface ist die Standardoption für Zeilenblockung ALL.

Weitere Informationen zu Cursorn finden Sie im Handbuch SQL Reference.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]