如果使用SQL Server企业版的多处理器服务器,可以通过使用MAXDOP索引选项来控制/限制在索引创建操作中潜在使用的处理器的数量。在这里,并行(即使用两个或更多处理器完成一个查询语句)可以潜在地提升索引创建操作的性能。
这个选项可以用在CREATE INDEX和ALTER INDEX中,其语法如下所示:
MAXDOP=max_degree_of_parallelism
这个选项的默认值为0,意思是SQL Server在操作中可以选择任一或所有可用的处理器。MAXDOP值为1则禁用索引创建的并发性。
限制索引创建的并发性可能会提升在创建过程中用户活动的并发性,但也可能增加索引创建 花费的时间,
例如,控制在索引创建过程中并行执行计划使用的处理器的数量,索引创建被限制为4个处理器
USE AdventureWorks
GO
CREATE NONCLUSTERED INDEX NI_Address_AddressLine1 ON
Person.Address (AddressLine1)
WITH (MAXDOP=4)
设置MAXDOP并不能保证SQL Server将实际使用指定的处理器的数量。它只是确保SQL Server不会超过MAXDOP的限定值。