Sql server 什么';我应该为此SQL Server设置的并行度值的成本阈值是多少?

Sql server 什么';我应该为此SQL Server设置的并行度值的成本阈值是多少?,sql-server,performance,configuration,Sql Server,Performance,Configuration,这是布伦特·奥扎尔的EXEC[dbo]。[sp_BlitzFirst]@SinceStartup=1的输出; 谢谢Brent,它给了我这个盒子上WATIS的全貌 但我的问题是,我应该设置多少并行性的成本阈值,而不是默认的5 所以我读了乔纳森的书 但我无法通过该查询获得结果,我的SQL Server是SQL 2016 SP2-CU12 有什么想法吗 提前谢谢 同意。没有神奇的数字。这取决于您试图解决的工作量和/或问题 几乎所有情况下,CTFP为5都太低 50是一个很好的起点,从这里向上或向下调整

这是布伦特·奥扎尔的EXEC[dbo]。[sp_BlitzFirst]@SinceStartup=1的输出; 谢谢Brent,它给了我这个盒子上WATIS的全貌

但我的问题是,我应该设置多少并行性的成本阈值,而不是默认的5

所以我读了乔纳森的书

但我无法通过该查询获得结果,我的SQL Server是SQL 2016 SP2-CU12

有什么想法吗

提前谢谢


同意。没有神奇的数字。这取决于您试图解决的工作量和/或问题

几乎所有情况下,CTFP为5都太低

50是一个很好的起点,从这里向上或向下调整

并行性本身不是一个问题。这对于在巨大的数据集中进行拖网搜索是一件好事。但是,如果没有人抱怨,为什么还要费心修理呢

然而,如果您知道查询或进程正在并行,而它们肯定不应该并行,那么这些等待时间可能会指出问题所在

如果您是Brent Ozar的粉丝,请尝试使用
@SortOrder='reads'
@SortOrder='cpu'
运行
sp_BlitzCache


就页面读取或cpu时间而言,这将返回性能最差的查询。我发现“警告”和“查询计划”列是进行进一步调查的好平台。

没有神奇的数字。调整、观察、重复。从50岁开始,看看效果如何。你是在解决一个实际问题,还是只是在攻击最高级别的等待?等待是一个正常运行的系统的一部分,并且总是有一个最高的等待。你总会有一个最差的员工,但你不可能连续解雇每一个最差的员工;这取决于你们的工作量。谢谢你们,我知道这是一个杠杆游戏。通过Jonathan的文档,似乎有一种方法可以计算缓存计划的子目录成本。也许这是一种给我们一个数字的方法,让我们对该值进行第一次猜测……也许没有缓存的并行计划,因此查询不会返回结果。考虑聚合等待状态将包括活动,比如并行的索引重建,而不是在计划缓存中反映的,也包括歪斜结果。不是说你不应该调整阈值,只是说你不应该试图解决你没有的问题。