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


Параметр конфигурации сервера cost threshold for parallelism

В этом разделе описывается настройка порогового значения затрат для параметра конфигурации сервера параллелизма в SQL Server 2014 с помощью SQL Server Management Studio или Transact-SQL. Порог затрат для параметра параллелизма указывает пороговое значение, при котором SQL Server создает и выполняет параллельные планы для запросов. SQL Server создает и запускает параллельный план для запроса, только если предполагаемые затраты для выполнения последовательного плана для того же запроса выше, чем значение, заданное пороговым значением для параллелизма. Стоимость представляет предполагаемое затраченное время в секундах, необходимое для выполнения последовательного плана в определенной конфигурации оборудования. Параметру cost threshold for parallelism можно присвоить любое значение от 0 до 32 767. Значение по умолчанию равно 5.

В этом разделе

Перед началом

Ограничения

  • Стоимость представляет предполагаемое затраченное время в секундах, необходимое для выполнения последовательного плана в определенной конфигурации оборудования. Устанавливайте параметр cost threshold for parallelism только на симметричных мультипроцессорах.

  • SQL Server игнорирует порог затраты для значения параллелизма в следующих условиях:

    • В компьютере имеется только один логический процессор.

    • Только один логический процессор доступен для SQL Server из-за параметра конфигурации маски сходства.

    • Параметру max degree of parallelism присвоено значение 1.

Логический процессор является базовой единицей процессора, которая позволяет операционной системе перенаправлять задачи или выполнить поток. Каждый логический процессор одновременно может выполнять только один поток. Процессорное ядро — это схема, которая обеспечивает возможность расшифровки и выполнения инструкций. Процессорное ядро может содержать один или более логических процессоров. Следующие запросы Transact-SQL можно использовать для получения сведений о ЦП системы.

SELECT (cpu_count / hyperthread_ratio) AS PhysicalCPUs,   
cpu_count AS logicalCPUs   
FROM sys.dm_os_sys_info  

Рекомендации

  • Этот параметр является дополнительным вариантом и должен быть изменен только опытным администратором базы данных или сертифицированным специалистом SQL Server.

  • В определенных случаях может быть выбран параллельный план, даже если стоимость плана запроса меньше текущего значения параметра cost threshold for parallelism . Такое возможно, поскольку решение использовать параллельный или последовательный план основывается на ожидаемой стоимости, полученной до завершения полной оптимизации.

Безопасность

Разрешения

Разрешения на выполнение хранимой процедуры sp_configure без параметров или только с первым параметром по умолчанию предоставляются всем пользователям. Для выполнения процедуры sp_configure с обоими параметрами для изменения параметра конфигурации или запуска инструкции RECONFIGURE необходимо иметь разрешение ALTER SETTINGS на уровне сервера. Разрешение ALTER SETTINGS неявным образом предоставлено предопределенным ролям сервера sysadmin и serveradmin .

Использование среды SQL Server Management Studio

Настройка параметра cost threshold for parallelism

  1. В обозревателе объектов щелкните правой кнопкой мыши сервер и выберите пункт Свойства.

  2. Щелкните узел Дополнительно .

  3. В области Параллелизмизмените параметр CostThresholdForParallelism на желаемое значение. Введите или выберите значение в диапазоне от 0 до 32767.

Использование Transact-SQL

Настройка параметра cost threshold for parallelism

  1. Соединитесь с ядром СУБД .

  2. На панели «Стандартная» нажмите Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере описывается использование процедуры sp_configure для задания значения параметра cost threshold for parallelism равным 10.

USE AdventureWorks2012 ;  
GO  
EXEC sp_configure 'show advanced options', 1 ;  
GO  
RECONFIGURE  
GO  
EXEC sp_configure 'cost threshold for parallelism', 10 ;  
GO  
RECONFIGURE  
GO  

Дополнительные сведения см. в разделе Параметры конфигурации сервера (SQL Server).

Дальнейшие действия. После настройки параметра стоимостного порога для параллелизма

Параметр вступает в силу немедленно, без перезапуска сервера.

См. также

Настройка параллельных операций с индексами
Указания запросов (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
Параметр конфигурации сервера «affinity mask»
RECONFIGURE (Transact-SQL)
Параметры конфигурации сервера (SQL Server)
sp_configure (Transact-SQL)