最近事情比较少,闲下来刚好可以对以前的事情做个总结。
这次总结是10年前的一次数据库优化,和5年前的一次右下腹通持续疼痛的治疗过程。
数据库优化的过程如下:
时间有点久,但最深刻的是,出现CPU持续100%的时候,找不到具体原因?
什么原因?
可能大家都有疑问,发现CPU到100%,不是很容易定位到。理论是可以的,但是实际如果多条慢SQL和多种原因导致,再加上监控的不完善,就可能不太好立即定位,
如6月份的MySQL高并发导致的全网故障,没有特别异常的SQL,后续如果有时间可以写文章讨论。
当时做了几个SQL优化项目,再加上对数据库有点研究,对自己太自信,结果分析时候,就是找不到根本原因,可能都有,可能都没有:
1,JOB的耗时存储过程 --太频繁,执行时间长,1,2分钟 2,频繁执行同样的SQL --如查询用户表sys_user 几分钟内执行数千次 3,tempdb太小 4,运行SQL太慢 5,数据库阻塞