我有一个SQL Server存储过程,其中包含一整批查询,这些查询过去在旧服务器上确实非常快,但在新服务器上现在真的很慢。我试图了解出什么问题了。
它仍然在运行很长的指令集的中间,我已经运行了一些查询来找出瓶颈所在。
它具有以下统计信息:
我运行了一个不同的查询,它提供了相似的结果:
但这意味着什么?知道我接下来要做什么吗?
编辑:只需阅读本文:https://sqlperformance.com/2014/06/io-subsystem/knee-jerk-waits-pageiolatch-sh,它表明CXPACKET类型是由并行表扫描引起的,而PACKETIOLATCH_SH是由于IO子系统(磁盘或网络)问题引起的。仍在调查中。
答案 0 :(得分:0)
从SQL Server 2014开始,有一个新的查询优化器。这可能是SP表现不佳的原因。 在设置数据库兼容性级别110之后,尝试执行SP。
ALTER DATABASE your_database SET COMPATIBILITY_LEVEL=110;
GO
或者,我可以通过添加跟踪标记OPTION(QUERYTRACEON 9481)来更改您的SP