SQL服务器的CPU利用率VS长时间运行的查询

问题描述:

纠正我,如果我错了,SQL服务器的CPU利用率VS长时间运行的查询

根据SQL服务器,如果查询了更多的CPU时间,那么它认为是一个高CPU消耗查询。

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

或者给我打一针说明,以确定它们之间的区别。

+1

一些长时间运行的查询是CPU绑定的。另外两种可能性是IO绑定或“死锁”。 –

我的问题 - 是所有长时间运行的查询是高CPU消耗 查询?

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

长时间运行的查询不受CPU限制的常见情况包括阻塞, 磁盘I/O和网络等待,内存授予等待,非生产性工作,如hash and sort spills

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