SQL服务器的CPU利用率VS长时间运行的查询
问题描述:
纠正我,如果我错了,SQL服务器的CPU利用率VS长时间运行的查询
根据SQL服务器,如果查询了更多的CPU时间,那么它认为是一个高CPU消耗查询。
我的问题 - Is all Long running queries are high CPU consuming queries?
或者给我打一针说明,以确定它们之间的区别。
答
我的问题 - 是所有长时间运行的查询是高CPU消耗 查询?
绝对不是。未正在执行(消耗CPU)的查询正在等待资源或操作完成。这就是为什么分析等待统计数据是一种常见的性能调优方法,在Brent Ozar's article中进行了总结。
长时间运行的查询不受CPU限制的常见情况包括阻塞, 磁盘I/O和网络等待,内存授予等待,非生产性工作,如hash and sort spills。
查询和索引调整可以帮助缓解上述问题,但性能最终会受到硬件功能的限制。服务器必须根据预期的工作负载进行调整。
一些长时间运行的查询是CPU绑定的。另外两种可能性是IO绑定或“死锁”。 –