Как вы знаете,
Обычно SQL Server обрабатывает запросы параллельно в следующих случаях:
- Когда количество процессоров превышает количество активных соединений.
- Когда расчетная стоимость последовательного выполнения запроса выше порога плана запроса (Расчетная стоимость относится к истекшему времени в секундах, необходимому для последовательного выполнения запроса.)
Однако некоторые типы операторов нельзя обрабатывать параллельно, если они не содержат предложений.
Например, UPDATE, INSERT и DELETE обычно не обрабатываются параллельно, даже если связанный запрос соответствует критериям.
Но если операторы UPDATE или DELETE содержат предложение WHERE, или оператор INSERT содержит предложение SELECT, WHERE и SELECT могут выполняться параллельно. В этих случаях изменения применяются последовательно к базе данных.
Чтобы настроить параллельную обработку, просто выполните следующее:
- В диалоговом окне «Свойства сервера» перейдите на страницу «Дополнительно».
- По умолчанию параметр Макс. Степень параллелизма имеет значение 0, что означает, что максимальное количество процессоров, используемых для параллельной обработки, контролируется автоматически. По сути, SQL Server использует фактическое количество доступных процессоров в зависимости от рабочей нагрузки. Чтобы ограничить число процессоров, используемых для параллельной обработки, до заданного значения (до максимального значения, поддерживаемого SQL Server), измените значение параметра Максимальная степень параллелизма на значение, большее 1. Значение 1 указывает SQL Server не использовать параллельный интерфейс. обработка.
- Большие сложные запросы обычно могут выиграть от параллельного выполнения. Однако SQL Server выполняет параллельную обработку только в том случае, если предполагаемое количество секунд, необходимое для запуска последовательного плана для того же запроса, превышает значение, установленное в пороговом значении стоимости для параллелизма. Установите порог оценки стоимости с помощью поля Пороговое значение стоимости для параллелизма на странице Дополнительно диалогового окна Свойства сервера. Вы можете использовать любое значение от 0 до 32 767. На одном процессоре порог стоимости игнорируется.
- Нажмите ОК. Эти изменения применяются немедленно. Вам не нужно перезагружать сервер.
Вы можете использовать хранимую процедуру sp_configure для настройки параллельной обработки. Команды Transact-SQL:
exec sp_configure "max degree of parallelism", <integer value>
exec sp_configure "cost threshold for parallelism", <integer value>
Цитируется по статье Technet Настройка параллельной обработки в SQL Server 2008