Параметр конфигурации сервера cost threshold for parallelism
Применимо к:SQL Server
В этом разделе описываются способы настройки параметра конфигурации сервера cost threshold for parallelism в SQL Server с помощью среды SQL Server Management Studio или Transact-SQL. Параметр cost threshold for parallelism позволяет указать пороговое значение, при котором SQL Server создает и выполняет параллельные планы для запросов. SQL Server создает и выполняет параллельный план для запроса только в случае, если оценочная стоимость выполнения последовательного плана для этого запроса выше значения, заданного параметром cost threshold for parallelism. Стоимость представляет предполагаемые затраты, необходимые для выполнения последовательного плана в определенной конфигурации оборудования (это не единица времени). Параметру cost threshold for parallelism можно присвоить любое значение от 0 до 32 767.
В этом разделе
Перед началом работы
Настройка параметра cost threshold for parallelism
Дальнейшие действия.После настройки параметра стоимостного порога для параллелизма
Перед началом
Ограничения
Стоимостью называется абстрактная единица себестоимости, а не единица ожидаемого времени. Устанавливайте параметр cost threshold for parallelism только на симметричных мультипроцессорах.
SQL Server не учитывает значение параметра cost threshold for parallelism при следующих условиях.
В компьютере имеется только один логический процессор.
Только один логический процессор доступен для SQL Server в соответствии с параметром конфигурации affinity mask .
Параметру 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 . Такое возможно, так как решение использовать параллельный или последовательный план основывается на ожидаемой стоимости, полученной ранее в процессе оптимизации. Дополнительные сведения см. в разделе Параллельная обработка запросов.
Значение по умолчанию 5 можно вполне использовать в большинстве систем, но вы можете указать другое. При необходимости протестируйте приложение с более низкими или высокими значениями, чтобы оптимизировать его производительность.
Безопасность
Разрешения
Разрешения на выполнение хранимой процедуры sp_configure без параметров или только с первым параметром по умолчанию предоставляются всем пользователям. Для выполнения процедуры sp_configure с обоими параметрами для изменения параметра конфигурации или запуска инструкции RECONFIGURE необходимо иметь разрешение ALTER SETTINGS на уровне сервера. Разрешение ALTER SETTINGS неявным образом предоставлено предопределенным ролям сервера sysadmin и serveradmin .
Использование среды SQL Server Management Studio
Настройка параметра cost threshold for parallelism
В обозревателе объектов щелкните правой кнопкой мыши сервер и выберите пункт Свойства.
Щелкните узел Дополнительно .
В области Параллелизм измените значение параметра Стоимостный порог для параллелизма на желаемое. Введите или выберите значение в диапазоне от 0 до 32767.
Использование Transact-SQL
Настройка параметра cost threshold for parallelism
Установите соединение с компонентом Компонент Database Engine.
На панели «Стандартная» нажмите Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере описывается использование процедуры 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)