SQL 2008CPU占用率90%以上,寻求优化方案

dlq_skj 2014-08-12 01:42:03
服务器配置:阿里云4核U 4G内存
数据库中有张表 里面有100多万的数据,客户端的所有应用程序都在同时且时刻刻的不断的随机查询这张表的一条数据
表结构字段:
ID
IDName
Username
UserPWD
Department
Isvalid
======================================
查了下会话一般客户端有100条会话连接
查询资源的消耗情况如下图:




那条SQL语句无非就是一条随机从这张表里面查询一条数据的语句 如下
select top 1 UserName,UserPwd from AllIDManagerDetails where IDName='VIP' and Isvalid=0 order by newid()
=================================================
请问各位有什么办法能做到把CPU资源降低下来?在IDName上建立索引会好些么?
或者升级硬件?
...全文
257 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dlq_skj 2014-08-12
  • 打赏
  • 举报
回复
引用 10 楼 DBA_Huangzj 的回复:
4核已经是比较常规的配置了,一般100来G的系统4核运行得好好的。不过如果你有预算,也可以,但是我觉得你应该先从设计上着手,看看是否有可以改进的地方
好的。感谢您的建议,再一次感谢您的帮助。结贴
發糞塗牆 2014-08-12
  • 打赏
  • 举报
回复
4核已经是比较常规的配置了,一般100来G的系统4核运行得好好的。不过如果你有预算,也可以,但是我觉得你应该先从设计上着手,看看是否有可以改进的地方
dlq_skj 2014-08-12
  • 打赏
  • 举报
回复
引用 8 楼 DBA_Huangzj 的回复:
order by newid() 这种是没办法优化了,只能减少数据量来降低排序的开销
嗯 数据是不能动的 考虑升级CPU不知道会不会好些,目前客户端只有100-200的连接。今后可能会更多同时1000以上的连接 估计会出问题。请问这种可以用硬件的升级来解决问题的吗
發糞塗牆 2014-08-12
  • 打赏
  • 举报
回复
order by newid() 这种是没办法优化了,只能减少数据量来降低排序的开销
dlq_skj 2014-08-12
  • 打赏
  • 举报
回复
引用 6 楼 DBA_Huangzj 的回复:
然后看看加了之后的cpu利用率会不会有所好转

非常感谢您的帮助,按照您的指点操作后,确实大为改观,但那个排序开销貌似增大了
不过好在CPU占用率问题暂时得到解决
發糞塗牆 2014-08-12
  • 打赏
  • 举报
回复
然后看看加了之后的cpu利用率会不会有所好转
發糞塗牆 2014-08-12
  • 打赏
  • 举报
回复
右键上面绿色的字,选择【缺少索引xxx】那个选项,然后会在新的窗口创建好脚本,你改一下索引名字直接执行就可以了
dlq_skj 2014-08-12
  • 打赏
  • 举报
回复
引用 3 楼 DBA_Huangzj 的回复:
在sqlserver Management studio中,选对目标库,然后ctrl+M,然后执行你这个语句。

發糞塗牆 2014-08-12
  • 打赏
  • 举报
回复
在sqlserver Management studio中,选对目标库,然后ctrl+M,然后执行你这个语句。
dlq_skj 2014-08-12
  • 打赏
  • 举报
回复
引用 1 楼 DBA_Huangzj 的回复:
如果的确只有这句话的话,把select top 1 UserName,UserPwd from AllIDManagerDetails where IDName='VIP' and Isvalid=0 order by newid()的执行计划贴出来看看
您指的是什么执行计划? 是这样的,客户端的是一应用程序,每个客户端应用程序在不断的循环执行这条查询语句 以随机读取这张表的数据作他用,上面我贴的图也可以看到最耗CPU资源的是因为这条语句的频繁执行。
發糞塗牆 2014-08-12
  • 打赏
  • 举报
回复
如果的确只有这句话的话,把select top 1 UserName,UserPwd from AllIDManagerDetails where IDName='VIP' and Isvalid=0 order by newid()的执行计划贴出来看看

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧