Opzione cursor threshold

L'opzione cursor threshold consente di specificare il numero delle righe del set di cursori in corrispondenza del quale i keyset vengono generati in modo asincrono. Quando i cursori producono un keyset per un set di risultati, Query Optimizer produce una stima del numero di righe che verranno restituite per tale set di risultati. Se il numero di righe restituite stimato supera il valore di soglia, il cursore viene generato in modo asincrono ed è pertanto possibile il recupero di righe dal cursore durante il popolamento del cursore stesso. In caso contrario, il cursore viene generato in modo sincrono e la query attende la restituzione di tutte le righe.

Se si imposta cursor threshold su -1, tutti i keyset vengono generati in modo sincrono, a vantaggio dei set di cursori di dimensioni ridotte. Se si imposta cursor threshold su 0, tutti i keyset dei cursori vengono generati in modo asincrono. Se si impostano altri valori, Query Optimizer verifica il numero di righe previste nel set di cursori. Se tale numero supera il valore impostato per cursor threshold, il keyset viene creato in modo asincrono. Non impostare cursor threshold su un valore troppo basso, in quanto è opportuno che i set di risultati di dimensioni ridotte vengano creati in modo sincrono.

[!NOTA] In SQL Server 2005 non è supportata la generazione in modo asincrono di cursori Transact-SQL statici o gestiti da keyset. Le operazioni di cursore di Transact-SQL, quali OPEN o FETCH, vengono eseguite in batch, pertanto la generazione asincrona di cursori Transact-SQL non è necessaria. I cursori API del server statici o gestiti da keyset continuano ad essere supportati in SQL Server 2005 nei casi in cui l'istruzione OPEN a bassa latenza costituisce un problema a causa dei round trip del client per ciascuna operazione del cursore.

L'accuratezza con cui Query Optimizer è in grado di stimare il numero di righe in un keyset dipende dal livello di aggiornamento delle statistiche relative a tutte le tabelle del cursore.

cursor threshold è un'opzione avanzata. Se per modificarne l'impostazione si utilizza la stored procedure di sistema sp_configure, sarà possibile modificare cursor threshold soltanto quando show advanced options è impostata su 1. L'impostazione diventa effettiva immediatamente e non richiede il riavvio del server.

Vedere anche

Concetti

Impostazione delle opzioni di configurazione del server

Altre risorse

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

Guida in linea e informazioni

Assistenza su SQL Server 2005