Параметр cost threshold for parallelism
Используйте параметр cost threshold for parallelism, чтобы указать порог, при котором MicrosoftSQL Server создает и выполняет параллельные планы для запросов. SQL Server создает и выполняет параллельный план для запроса, только если ожидаемая стоимость выполнения последовательного плана для того же запроса выше значения, установленного в параметре cost threshold for parallelism. Стоимость связана с ожидаемым количеством затраченного времени в секундах, необходимого для выполнения последовательного плана на определенной аппаратной конфигурации. Параметр cost threshold for parallelism следует устанавливать только в симметричных многопроцессорных системах.
Параллельные планы обычно выгодны для более длинных запросов; преимущества производительности сводят на нет дополнительное время, требуемое для инициализации, синхронизации и прерывания параллельных планов. Параметр cost threshold for parallelism активно используется, когда выполняется комбинация из коротких и более длинных запросов. Короткие запросы выполняются по последовательным планам, а для более длинных запросов используются параллельные планы. Значением параметра cost threshold for parallelism определяется, какие запросы считаются короткими и, следовательно, подлежащими выполнению с использованием последовательных планов.
В определенных случаях может быть выбран параллельный план, даже если стоимостный план запроса меньше текущего значения параметра cost threshold for parallelism. Такое возможно, поскольку решение использовать параллельный или последовательный план основывается на ожидаемой стоимости, полученной до завершения полной оптимизации.
Параметру cost threshold for parallelism может быть присвоено любое значение от 0 до 32767. Значением по умолчанию является 5.
SQL Server игнорирует значение параметра cost threshold for parallelism при следующих условиях:
- в компьютере имеется только один процессор;
- только один ЦП доступен для SQL Server из-за параметра конфигурации маска схожести.;
- параметру max degree of parallelism присвоено значение 1.
Параметр cost threshold for parallelism относится к дополнительным параметрам. Если для изменения параметра используется системная хранимая процедура sp_configure, то изменить параметр cost threshold for parallelism можно только в том случае, если параметру show advanced options присвоено значение 1. Эта установка вступает в силу немедленно (без перезапуска сервера).
Пример
В следующем примере устанавливается стоимостный порог для параллелизма в 10 секунд.
sp_configure 'show advanced options', 1;
GO
reconfigure;
GO
sp_configure 'cost threshold for parallelism', 10;
GO
reconfigure;
GO
См. также
Основные понятия
Параметр affinity mask
Параметр max degree of parallelism
Установка параметров конфигурации сервера
Другие ресурсы
RECONFIGURE (Transact-SQL)
Хранимая процедура sp_configure (Transact-SQL)