Параметр cursor threshold

С помощью параметра cursor threshold укажите количество строк в наборе курсора, при котором наборы ключей курсора создаются асинхронно. Когда курсор формирует набор ключей для результирующего набора, оптимизатор запросов прогнозирует количество строк, которые будут возвращены для этого результирующего набора. Если оптимизатор запросов определяет, что число возвращенных строк превышает это пороговое значение, курсор формируется асинхронно, позволяя пользователю совершать выборку строк из курсора, пока он продолжает заполняться. В противном случае курсор формируется синхронно, и запрос ожидает, пока не будут возвращены всех строки.

Если значение параметра cursor threshold установить равным -1, все наборы ключей будут создаваться синхронно, что предпочтительно для небольших наборов курсоров. Если значение параметра cursor threshold установить равным 0, все наборы ключей будут создаваться асинхронно. При других значениях оптимизатор запросов сравнивает количество предполагаемых строк в наборе курсора и формирует набор ключей асинхронно, если значение превышает число, заданное параметром cursor threshold. Не стоит присваивать параметру cursor threshold слишком низкое значение, поскольку небольшие результирующие наборы предпочтительно формировать в синхронном режиме.

ПримечаниеПримечание

SQL Server не поддерживает асинхронное формирование курсоров, управляемых набором ключей, и статических курсоров Transact-SQL. Операции курсора Transact-SQL, такие как OPEN или FETCH, обычно являются пакетными. Таким образом, нет необходимости в асинхронном формировании курсоров Transact-SQL. SQL Server продолжает поддерживать использование асинхронных курсоров, управляемых набором ключей, или статических серверных курсоров API в случаях, когда операция OPEN с малым периодом ожидания замедляется из-за двусторонних задержек клиента для каждой операции курсора.

Точность определения приблизительного количества строк в наборе ключей зависит от валюты, используемой в статистике по каждой таблице курсора с помощью оптимизатора запросов.

Параметр cursor threshold считается дополнительным. При использовании системной хранимой процедуры sp_configure для его редактирования вносить изменения в параметр cursor threshold можно только в том случае, если параметру Отобразить дополнительные параметры присвоено значение 1. Настройка вступает в силу немедленно, без перезапуска сервера.