Поделиться через


Параметр 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.

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

    Если используется параметр запроса MAXDOP, SQL Server будет учитывать значение cost threshold for parallelism.

Параметр 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