来自:马非码 - 博客园
文章目录
遇到的问题
使用SQLServer Profiler监控数据库
SQL1:查找最新的30条告警事件
SQL2:获取当前的总报警记录数
有哪些SQL语句会导致CPU过高?
查看SQL的查询计划
选择top记录时,尽量为order子句的字段建立索引
查看SQL语句CPU高的语句
通过建立相关索引来减少表扫描
其他优化手段
总结
遇到的问题
使用SQLServer Profiler监控数据库
SQL1:查找最新的30条告警事件
SQL2:获取当前的总报警记录数
有哪些SQL语句会导致CPU过高?
查看SQL的查询计划
选择top记录时,尽量为order子句的字段建立索引
查看SQL语句CPU高的语句
通过建立相关索引来减少表扫描
其他优化手段
总结
遇到的问题
使用SQLServer Profiler监控数据库
SQL1:查找最新的30条告警事件
SQL2:获取当前的总报警记录数
展开全文
SQL1:查找最新的30条告警事件
SQL2:获取当前的总报警记录数
有哪些SQL语句会导致CPU过高?
查看SQL的查询计划
选择top记录时,尽量为order子句的字段建立索引
查看SQL语句CPU高的语句
通过建立相关索引来减少表扫描
选择top记录时,尽量为order子句的字段建立索引
查看SQL语句CPU高的语句
通过建立相关索引来减少表扫描
其他优化手段
总结
遇到的问题
有同事反应服务器CPU过高,一看截图基本都是100%了,my god,这可是大问题,赶紧先看看 。
让同事查看系统进程,发现是SQLServer的CPU占用比较高 。首先想到的是不是报表生成的时候高,因为这块之前出现过问题,关掉服务程序,还是高 。难道是客户端程序引发的?但是这么多的客户端连接,难不成每个都叫人关闭,很简单,把网络断开即可 。网络断开之后,CPU立马下降 。那么问题到底在哪里呢,是时候祭出我们的利器了——SQLServer Profiler 。
使用SQLServer Profiler监控数据库
文章插图
让同事使用SQLProfiler监控了大概20分钟左右,然后保存为跟踪文件*.rtc 。
我们来看看到底是哪句SQL有问题:
SQL1:查找最新的30条告警事件
selecttop30a.orderno,a.AgentBm,a.AlarmTime,a.RemoveTime,c.NameasAddrName,b.NameasMgrObjName,a.Ch,a.Value,a.Content,a.Level
,ag.NameasAgentServerName,a.EventBm,a.MgrObjId,a.Id,a.Cfmoper,a.Cfm,a.Cfmtime,a.State,a.IgnoreStartTime,a.IgnoreEndTime
,a.OpUserId,d.NameasMgrObjTypeName,l.UserNameasuserName,f.NameasAddrName2
fromeventlogasaleft joinmgrobjasbona.MgrObjId=b.Idanda.AgentBm=b.AgentBm
left joinaddrnodeasconb.AddrId=c.Idleft joinmgrobjtypeasdonb.MgrObjTypeId=d.Id
left joineventdiraseona.EventBm=e.Bmleft joinagentserverasagona.AgentBm=ag.AgentBm
left joinloginUseraslona.cfmoper=l.loginGuidleft joinaddrnodeasfonag.AddrId=f.Id
where((MgrObjIdin(
selectIdfromMgrObj
whereAddrIdin('','02100000','02113000','02113001','02113002','02113003','02113004'
,'02113005','02113006','02113007','02113008','02113009','02113010','02113011','02113012'
,'02113013','02113014','02113015','02113016','02113017','02113018','02113019','02113020'
,'02113021','02113022','02113023','02113024','02113025','02113026')))
or(mgrobjidin('00000000-0000-0000-0000-000000000000','00000000-0000-0000-0000-000000000000'
,'00000000-0000-0000-0000-000000000000','11111111-1111-1111-1111-111111111111'
,'11111111-1111-1111-1111-111111111111'))
)
order byalarmtimeDESC
selecttop30a.orderno,a.AgentBm,a.AlarmTime,a.RemoveTime,c.NameasAddrName,b.NameasMgrObjName,a.Ch,a.Value,a.Content,a.Level
- 笔记本电脑可以过高铁安检吗
- 推荐4款cpu温度测量软件 检测cpu温度的软件
- 英特尔cpu代数划分 cpu划分
- cf的CPU使用率低很卡 cf的cpu
- 第七代导演 第七代cpu
- CPU型号是什么 c获取cpu型号
- e5800 cpu参数 t7800cpu参数
- CPU监控软件哪个好 cpu监控软件
- 高通骁龙865cpu架构 高通骁龙865cpu多少钱
- 至强cpu型号区分 至强cpu型号