Параметр cursor threshold
С помощью параметра cursor threshold укажите количество строк в наборе курсора, при котором наборы ключей курсора создаются асинхронно. Когда курсор формирует набор ключей для результирующего набора, оптимизатор запросов прогнозирует количество строк, которые будут возвращены для этого набора. Если оптимизатор запросов определяет, что число возвращенных строк превышает это пороговое значение, курсор формируется асинхронно, позволяя пользователю совершать выборку строк из курсора, пока он продолжает заполняться. В противном случае курсор формируется синхронно, и запрос ожидает, пока не будут возвращены всех строки.
Если значение параметра cursor threshold установить равным -1, все наборы ключей будут создаваться синхронно, что предпочтительно для небольших наборов курсоров. Если значение параметра cursor threshold установить равным 0, все наборы ключей будут создаваться асинхронно. При других значениях оптимизатор запросов сравнивает количество предполагаемых строк в наборе курсора и формирует набор ключей асинхронно, если значение превышает число, заданное параметром cursor threshold. Не стоит присваивать параметру cursor threshold слишком низкое значение, поскольку небольшие результирующие наборы предпочтительно формировать в синхронном режиме.
Примечание. |
---|
SQL Server 2005 не поддерживает асинхронное формирование курсоров, управляемых набором ключей, и статических курсоров Transact-SQL. Операции курсора Transact-SQL, такие как OPEN или FETCH, являются пакетными, поэтому нет необходимости в асинхронном формировании курсоров Transact-SQL. SQL Server 2005 по-прежнему поддерживает асинхронные курсоры, управляемые набором ключей, и статические серверные API-курсоры для тех случаев, в которых важна малая задержка OPEN, потому что при каждой операции с курсорами выполняется полный цикл обмена данными с клиентом. |
Точность определения приблизительного количества строк в наборе ключей зависит от валюты, используемой в статистике по каждой таблице курсора с помощью оптимизатора запросов.
Параметр cursor threshold считается дополнительным. При использовании системной хранимой процедуры sp_configure для его редактирования вносить изменения в параметр cursor threshold можно только в том случае, если параметру Отобразить дополнительные параметры присвоено значение 1. Настройка вступает в силу немедленно, без перезапуска сервера.
См. также
Основные понятия
Установка параметров конфигурации сервера
Другие ресурсы
RECONFIGURE (Transact-SQL)
Хранимая процедура sp_configure (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)