在迁移到 SQL Server 2017(从 SQL Server 2008)后PAGELATCH
,我看到PAGEIOLATCH
和等待的增加。WRITELOG
虽然我可以解释增加PAGEIOLATCH
和WRITELOG
(我们有其他磁盘 - HDD 而不是 SSD),但不知道为什么PAGELATCH
也会增加。
它们有关系吗?
我周围看到的不是,原因PAGELATCH
属于内存,而其他属于IO。
在迁移到 SQL Server 2017(从 SQL Server 2008)后PAGELATCH
,我看到PAGEIOLATCH
和等待的增加。WRITELOG
虽然我可以解释增加PAGEIOLATCH
和WRITELOG
(我们有其他磁盘 - HDD 而不是 SSD),但不知道为什么PAGELATCH
也会增加。
它们有关系吗?
我周围看到的不是,原因PAGELATCH
属于内存,而其他属于IO。
如果不做更多分析,我不会得出那个结论。Paul Randal 在本文中提到的一些可能原因。
以下是一些可能的根本原因(并非详尽列表):
由于以下原因,执行表/聚集索引扫描(而不是索引查找)的查询计划:
它们有关系吗?
否。阅读本文了解可能的原因和解决方案。
膝跳等待统计:Paul Randal 的 PAGELATCH。
另请阅读此问题的答案。
高 PAGELATCH_* 和 WRITELOG 等待。他们有关系吗?
我建议您查看您的工作量并确定 2008 年至 2017 年之间发生了什么变化。尝试将这些变化与您等待类型的变化进行关联。新的和改进的基数估计器在 SQL Server 2014 中发布,它可能不会为你为 2008 年编写的所有代码生成最佳计划。记住硬件变化也可以发挥作用。获得所有信息后,您将能够确定等待类型变化的根本原因。
SQL Server 2014 中新的和改进的基数估计器