sql 性能问题分析:
营业业务人员反应他们有一个应用模块连数据库老是断,让帮忙给协助查看下数据库是否有问题。通过后台监控数据库发现营业数据库存在一个sql存在性能问题,导致营业数据库CPU使用率一直在60%左右,平常基本都是在30%左右。
经确认CPU使用率较高的原因主要是由于以下有问题的sql 5fs4akb788pm9并发执行造成:
该sql优化过程:
该sql执行计划如下:
通过查看执行计划及表选择性发现该sql存在如下性能问题:
CM_SUB_SERVER_INFO_T 和BB_BUS_STR_T表的连接顺序错误。
2 个表均存在合适此条件的选择性更好的索引,但实际执行计划并没有走相应的索引
基于以上分析我们通过对此sql执行计划进行固定后执行计划如下:
sql 优化效果评估:
优化前平均单次执行时间为193秒
优化后平均单次执行时间为1秒,性能提升100多倍,且优化后该sql不再出现在top sql中
优化前CPU平均使用率60%
优化后CPU平均使用率23%,资源开销大幅降低
