Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе определяется максимальная степень параллелизма и объясняется, как изменить этот параметр в SQL Server 2014 с помощью SQL Server Management Studio или Transact-SQL. На компьютерах с несколькими обработчиками, работающих под управлением SQL Server Enterprise или более поздней версии, инструкции индекса могут использовать несколько процессоров для выполнения операций сканирования, сортировки и индексов, связанных с инструкцией индекса так же, как и другие запросы. Количество процессоров, используемых для выполнения одной инструкции индекса, определяется параметром конфигурации максимального уровня параллелизма , текущей рабочей нагрузкой и статистикой индекса. Параметр max degree of parallelism определяет максимальное число процессоров, используемых при параллельном выполнении плана. Если Ядро СУБД SQL Server обнаруживает, что система занята, степень параллелизма операции индекса автоматически уменьшается до начала выполнения инструкции. Ядро СУБД также может уменьшить степень параллелизма, если ведущий ключевой столбец несекционированного индекса имеет ограниченное количество уникальных значений или частота каждого отдельного значения значительно меняется.
Замечание
Параллельные операции индексов недоступны в каждом выпуске SQL Server. Дополнительные сведения см. в разделе Features Supported by the Editions of SQL Server 2014.
В этом разделе
Перед началом:
Для настройки максимальной степени параллелизма используется:
Перед началом работы
Ограничения и условия
Число процессоров, используемых оптимизатором запросов, как правило, обеспечивает оптимальную производительность. Однако некоторые операции, например создание, перестроение или удаление очень больших индексов, требуют большого количества ресурсов и могут привести к нехватке ресурсов для других приложений и операций базы данных на время выполнения операции с индексами. При возникновении этой проблемы можно вручную установить максимальное количество процессоров, которые используются при выполнении индексной инструкции, ограничив число процессоров, используемых в операции с индексами.
Параметр индекса MAXDOP замещает параметр конфигурации max degree of parallelism только для запросов, указывающих этот параметр. В следующей таблице перечислены действительные целочисленные значения, которые могут быть установлены для параметра конфигурации максимальной степени параллелизма и параметра индекса MAXDOP.
Ценность Описание 0 Указывает, что сервер определяет число используемых процессоров в зависимости от текущей рабочей нагрузки. Это значение по умолчанию, которое рекомендуется использовать. 1 Подавляет формирование параллельных планов. Операция будет выполнена последовательно. 2–64 Ограничивает число процессоров указанным значением. Может быть использовано меньше процессоров, в зависимости от рабочей нагрузки. Если указано значение, превышающее количество доступных процессоров, будет использоваться реальное количество доступных процессоров. Параллельное выполнение индекса и параметр индекса MAXDOP применяются к следующим операторам Transact-SQL:
СОЗДАТЬ ИНДЕКС
ALTER INDEX REBUILD (изменить индекс и перестроить его)
DROP INDEX (это относится только к кластеризованным индексам.)
ALTER TABLE ДОБАВИТЬ (index) ОГРАНИЧЕНИЕ
ALTER TABLE DROP (кластеризованный индекс) CONSTRAINT
Параметр индекса MAXDOP нельзя указать в инструкции ALTER INDEX REORGANIZE.
Требования к памяти для операций секционированного индекса, требующих сортировки, могут быть больше, если оптимизатор запросов применяет степень параллелизма к операции сборки. Чем выше степень параллелизма, тем больше требуется памяти. Дополнительные сведения см. в разделе Partitioned Tables and Indexes.
Безопасность
Разрешения
Необходимо разрешение ALTER для таблицы или представления.
Использование среды SQL Server Management Studio
Установка максимального уровня параллелизма для индекса
В обозревателе объектов щелкните знак «плюс», чтобы развернуть базу данных, содержащую таблицу, в которой необходимо указать параметр max degree of parallelism для индекса.
Разверните папку Таблицы.
Щелкните знак «плюс», чтобы развернуть таблицу, в которой необходимо указать параметр max degree of parallelism для индекса.
Разверните папку Индексы.
Щелкните правой кнопкой мыши индекс, для которого нужно задать параметр max degree of parallelism, и выберите пункт Свойства.
В разделе Выбор страницыщелкните Параметры.
Выберите свойство Максимальная степень параллелизмаи введите значение от 1 до 64.
Нажмите кнопку ОК.
Использование Transact-SQL
Настройка максимальной степени параллелизма для существующего индекса
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2012; GO /*Alters the IX_ProductVendor_VendorID index on the Purchasing.ProductVendor table so that, if the server has eight or more processors, the Database Engine will limit the execution of the index operation to eight or fewer processors. */ ALTER INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor REBUILD WITH (MAXDOP=8); GO
Дополнительные сведения см. в разделе ALTER INDEX (Transact-SQL).
Установка максимальной степени параллелизма в новом индексе
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2012; GO CREATE INDEX IX_ProductVendor_NewVendorID ON Purchasing.ProductVendor (BusinessEntityID) WITH (MAXDOP=8); GO
Дополнительные сведения см. в статье CREATE INDEX (Transact-SQL).