如何诊断和解决CPU高度消耗的数据库问题

如题所述

SQL占用了CPU将近100%的资源,解决方法如下:
1、服务器CPU过高,首先查看系统进程,确定引发CPU过高的进程;

2、通过SQLServer Profiler能够轻易监控到哪些SQL语句执行时间过长,消耗最多的CPU;

3、通过SQL语句是可以查看每条SQL语句消耗的CPU是多少;

4、导致CPU高的都是进行大量计算的语句:包括内存排序、表扫描、编译计划等;

5、如果使用Top刷选前面几条语句,则尽量为Order By子句建立索引,这样可以减少对所有的刷选结果进行排序;

6、使用Count查询记录数时,尽量通过为where字句的相关字段建立索引以减少表扫描。如果多个表进行join操作,则把相关的表连接字段建立在包含索引中;

7、通过服务端通知的方式,减少SQL语句的查询;

8、通过表分区,尽量降低因为添加索引而导致表插入较慢的影响。
温馨提示:答案为网友推荐,仅供参考
相似回答