SQL 服务器 CPU 利用率与长 运行 查询

SQL Server CPU utilization vs Long running queries

如果我错了,请纠正我,

根据 SQL 服务器,如果查询花费了更多 CPU 时间,那么它将被视为高 cpu 消耗查询。

我的问题 - Is all Long running queries are high CPU consuming queries?

或者给我一个镜头描述来找出它们之间的区别。

My Question - Is all Long running queries are high CPU consuming queries?

绝对不是。未主动执行的查询(消耗 CPU)正在等待资源或操作完成。这就是为什么分析等待统计数据是一种常见的性能调整方法,Brent Ozar's article.

对此进行了总结

长 运行 查询不受 CPU 约束的常见场景包括阻塞, 磁盘 I/O 和网络等待、内存授予等待、非生产性工作,如 hash and sort spills

查询和索引调整可以帮助缓解上述问题,但性能最终将受到硬件功能的限制。服务器的大小必须适合预期的工作负载。