mssql 2005 CPU 占用100%问题
1.出现问题:CPU 占用率100%,平均90%以上
2.造成原因:大量的并发查询语句,筛选列没有创建索引,造成扫描5次,逻辑I/O 9689次
3.解决方法:
3.1.首先使用杀毒软件查杀,无毒 下一步
3.2使用jsky查看是不否有SQL注入,无 下一步
3.3使用查表中索引碎片,是否很多,不多 下一步
3.4使用 SQL Profiler监控,存储过程,游标的运行情况,及占用CPU时间,如果运行次数少占
用高,也没多大关系 下一步
3.5使用SQL Profiler监控CPU占用率高时的T-SQL语句,发现问题,两条SQL语句运行的很频率
3.6把T-SQL语句复制到QUERY脚本中,保存,使用数据库引擎优化顾问,运行分析保存的T-SQL
最后原来出来了,查询的表中只有默认的聚集索引,没有在经常查询的筛选列中创建索引,先把查询
表中的统计值更新一下(statistics),然后创建非聚集索引,再使用当条语句进行查询
结果:扫描1次,逻辑I/O 3次,至此,优化成功!问题解决啦,现在CPU占用基本不会超过50%,基本
在0-20%之间.
浙公网安备 33010602011771号