Published on

January 25, 2019

Настройка производительности SQL Server: улучшение производительности запросов с помощью MAXDOP

Когда речь идет о настройке производительности SQL Server, знание того, где искать и как настраивать конфигурации, может существенно упростить задачу. В ходе недавней комплексной проверки производительности базы данных, я столкнулся с реальным сценарием, который подчеркивает важность понимания влияния MAXDOP (максимальная степень параллелизма) на производительность запросов.

В ходе настройки производительности мы обнаружили, что важная таблица в базе данных требует обновления своей статистики с полным сканированием. Однако каждый раз, когда мы запускали задание обновления статистики, запрос выполнялся крайне медленно и казалось, что никогда не завершается. После тщательного исследования мы выяснили, что уровень MAXDOP на уровне базы данных был установлен на 2, что приводило к бесконечному выполнению запроса.

Эта ситуация представляла собой дилемму, где взаимоисключающие условия установки MAXDOP и необходимости полного сканирования мешали производительности запроса. Однако нам удалось найти обходное решение, которое оказалось проще, чем ожидалось.

Начиная с SQL Server 2016 R2, теперь можно выполнять обновление статистики с полным сканированием с помощью ключевого слова MAXDOP. Указав более высокое значение для MAXDOP в нашем запросе FULLSCAN, мы смогли улучшить производительность запроса обновления статистики.

Например, давайте рассмотрим сценарий, в котором у нас есть в общей сложности 64 процессора. Мы можем указать MAXDOP=8 для нашего запроса обновления статистики:

USE AdventureWorks2014;
GO
UPDATE STATISTICS Production.Product([AK_Product_Name])
WITH FULLSCAN, MAXDOP=8;
GO

Увеличивая значение MAXDOP до 8, мы смогли использовать больше вычислительной мощности и значительно улучшить производительность запроса обновления статистики.

Важно отметить, что оптимальное значение для MAXDOP может варьироваться в зависимости от конкретной рабочей нагрузки и конфигурации оборудования вашего SQL Server. Рекомендуется тщательно тестировать и отслеживать влияние различных настроек MAXDOP на производительность запросов, чтобы найти оптимальное значение для вашей среды.

Понимая влияние MAXDOP на производительность запросов и используя возможность указания MAXDOP в обновлениях статистики с полным сканированием, вы можете эффективно настраивать конфигурации SQL Server и улучшать общую производительность.

Помните, что настройка производительности SQL Server – это непрерывный процесс, и важно быть в курсе последних функций и лучших практик для поддержания оптимальной производительности.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.