cursor threshold (Option)

Sie können mithilfe der Option cursor threshold die Anzahl der Zeilen im Cursorset angeben, bei der Cursor-Keysets asynchron generiert werden. Wenn Cursor ein Keyset für ein Resultset generiert, schätzt der Abfrageoptimierer die Anzahl der Zeilen, die für dieses Resultset zurückgegeben werden. Wenn der Abfrageoptimierer schätzt, dass die Anzahl der zurückgegebenen Zeilen über diesem Schwellwert liegt, wird der Cursor asynchron generiert. Dadurch kann der Benutzer Zeilen aus dem Cursor abrufen, während der Cursor weiterhin aufgefüllt wird. Andernfalls wird der Cursor synchron generiert, und die Abfrage wartet so lange, bis alle Zeilen zurückgegeben wurden.

Wenn Sie cursor threshold auf -1 festlegen, werden alle Keysets synchron generiert, was für kleine Cursorsets vorteilhaft ist. Wenn Sie cursor threshold auf 0 festlegen, werden alle Cursor-Keysets asynchron generiert. Bei anderen Werten vergleicht der Abfrageoptimierer die Anzahl der erwarteten Zeilen im Cursorset und erstellt das Keyset asynchron, wenn die Anzahl der in cursor threshold festgelegten Zeilen überschritten wird. Sie sollten die Option cursor threshold nicht zu niedrig festlegen, da es besser ist, kleine Resultsets synchron zu erstellen.

ms189113.note(de-de,SQL.90).gifHinweis:
SQL Server 2005 unterstützt nicht das asynchrone Generieren von keysetgesteuerten oder statischen Transact-SQL-Cursor. Transact-SQL-Cursoroperationen wie OPEN oder FETCH werden als Batch ausgeführt, sodass das asynchrone Generieren von Transact-SQL-Cursor nicht erforderlich ist. SQL Server 2005 unterstützt weiterhin asynchrone keysetgesteuerte und statische API-Servercursor (Application Programming Interface) für den Fall, dass eine geringe Wartezeit von OPEN wegen Clientroundtrips bei jeder Cursorvorgang ein Problem darstellt.

Die Genauigkeit des Abfrageoptimierers beim Bestimmen der Anzahl der Zeilen in einem Keyset hängt davon ab, wie aktuell die Statistiken für die einzelnen Tabellen im Cursor sind.

Bei cursor threshold handelt es sich um eine erweiterte Option. Wenn Sie die Einstellung mithilfe der gespeicherten Systemprozedur sp_configure ändern, können Sie cursor threshold nur ändern, wenn show advanced options auf 1 festgelegt ist. Die Einstellung tritt sofort in Kraft (ohne Neustarten des Servers).

Siehe auch

Konzepte

Festlegen von Serverkonfigurationsoptionen

Andere Ressourcen

RECONFIGURE (Transact-SQL)
sp_configure (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005