cursor threshold (opción)

Utilice la opción cursor threshold (umbral del cursor) para especificar el número de filas del conjunto de cursores en el que se generan de manera asincrónica los conjuntos de claves del cursor. Cuando los cursores generan un conjunto de claves para un conjunto de resultados, el optimizador de consultas calcula el número de filas que se van a devolver para ese conjunto de resultados. Si el optimizador de consultas calcula que el número de filas devueltas es superior a este umbral, el cursor se genera de manera asincrónica, lo que permite al usuario recuperar las filas del cursor mientras sigue llenándose. De lo contrario, el cursor se genera de manera sincrónica y la consulta espera a que se devuelvan todas las filas.

Si establece el valor -1 para cursor threshold, todos los conjuntos de claves se generan de manera sincrónica, lo que beneficia a los conjuntos de cursores pequeños. Si establece el valor 0 para cursor threshold, todos los conjuntos de claves del cursor se generan de manera asincrónica. Con otros valores, el optimizador de consultas compara el número de filas esperadas del conjunto de cursores y genera asincrónicamente el conjunto de claves si supera el número establecido en cursor threshold. No establezca un valor demasiado bajo para cursor threshold, ya que los conjuntos de resultados pequeños se generan mejor de manera sincrónica.

Nota

SQL Server no admite la generación asincrónica de cursores Transact-SQL controlados por conjunto de claves o estáticos. Las operaciones de cursor de Transact-SQL, como OPEN o FETCH, se realizan por lotes, por lo que no es necesaria la generación asincrónica de cursores Transact-SQL. SQL Server mantiene la compatibilidad con los cursores de servidor de interfaz de programación de aplicaciones (API) controlados por conjunto de claves o estáticos, donde OPEN de latencia baja representa un problema debido a los ciclos de ida y vuelta del cliente en cada operación de cursor.

La precisión del optimizador de consultas para determinar una estimación del número de filas de un conjunto de claves depende del grado de actualización de las estadísticas de cada una de las tablas del cursor.

La opción cursor threshold es una opción avanzada. Si utiliza el procedimiento almacenado del sistema sp_configure para cambiar el valor, podrá cambiar la opción cursor threshold sólo si show advanced options (mostrar opciones avanzadas) tiene establecido el valor 1. El valor tiene efecto inmediatamente (sin necesidad de detener y reiniciar el servidor).