我提出了一个奇怪的问题,即在表上创建缺失索引后,select查询的性能会降低。最初,看起来所有查询都受到影响,但在查看详细信息时,我们发现与视图具有内部联接的查询受到影响。视图包含几个表,但这些表未被修改。
为了进一步调查,我选择了一个简单的选择查询,并将执行计划与旧服务器进行了比较(我从AWS恢复了旧的数据库实例)。我看到除了DOP(并行度)之外,一切看起来都一样。 DOP从4变为1.即添加索引后并行性被禁用。
现在查询的执行时间几乎翻了一倍,所以我认为DOP对它的影响非常大。我读了几篇与DOP有关的文章,但没有找到任何可以帮助我的文章。
我尝试提供 OPTION(MAXDOP 4)提示进行查询,但它无效。
我们没有改变" 最大并行度"配置,它设置为默认值,因此根据link,SQL Server在设置默认值时确定并行性。我使用下面的查询来获取服务器的DOP。请参阅附件。
select * from sys.configurations where name in ('max degree of parallelism')
SQL Server版本是 Microsoft SQL Server 2014 - 12.0.4422.0(X64)2015年7月27日16:56:19版权所有(c)Windows NT 6.1上的Microsoft Corporation标准版(64位)(Build 7601:Service Pack 1)(Hypervisor)