资讯专栏INFORMATION COLUMN

记一次执行计划异常变化分析处理过程

IT那活儿 / 3755人阅读
记一次执行计划异常变化分析处理过程
点击上方蓝字关注我们


 现      象 


开发人员反映,系统工单无法提交成功,双机业务程序报超时异常,请求DB侧确认数据库是否存在异常。


分析解决过程


1)接入数据库等待事件无异常,程序账号会话信息无异常。


2)开发人员反馈后台一类(selectdistinct xxxx)sql执行时间异常,请求db侧进行优化


3)根据提示找到其中一条sqlid,进一步分析

==>这里直接说分析结果了,执行计划第七步走错了索引,原因是某张表的谓语列长度超过32个字符(具体可参考<Statisticsand histograms of character columns with length longer than 32 or 64characters (Doc ID 800089.1)>),使用了直方图统计信息,导致执行计划不是最优。


4)解决方法

需要重新收集该表统计信息,删除列上统计信息,收集方法为:METHOD_OPT=>FOR COLUMNS SIZE 1


5)优化效果

执行时间由之前的150s左右降为1s左右,应用程序重启后功能恢复正常了。



6)之前跑的很正常的程序,为什么突然间异常了?

==》结合历史快照及sql信息,虽然执行次数少,但可以看到上午时间10点后就异常了,而其他时间的信息快照信息也没有抓到,进一步说明之前确实是正常的。

==》查询某表的统计信息变更时间,上午时间段确实有变化。大致可以确定统计信息发生了变化,导致涉及某表的一批sql语句执行计划异常。至于是啥原因导致了统计信息有变更,这里不再阐述。


 总      结 


这种执行次数少的语句,历史信息可能没有记录,导致出问题时,不能和历史的执行计划做对比,立即判断出执行计划有变化。这套系统之前上线时碰到过此类问题,根据以往经验,这次能够快速的优化解决问题。反之,可能就要折腾一段时间了。


END


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/130015.html

相关文章

  • 一次PHP并发性能调优实战 -- 性能提升104%

    摘要:这是多处理器系统中,调度器用来分散任务到不同的机制,通常也被称为处理器间中断,。文章编写计划 待完成: 详细介绍用到的各个工具 作者: 万千钧(祝星) 适合阅读人群 文中的调优思路无论是php, java, 还是其他任何语言都是用. 如果你有php使用经验, 那肯定就更好了 业务背景 框架及相应环境 laravel5.7, mysql5.7, redis5, nginx1.15 cento...

    番茄西红柿 评论0 收藏0
  • 一次PHP并发性能调优实战 -- 性能提升104%

    摘要:这是多处理器系统中,调度器用来分散任务到不同的机制,通常也被称为处理器间中断,。文章编写计划 待完成: 详细介绍用到的各个工具 作者: 万千钧(祝星) 适合阅读人群 文中的调优思路无论是php, java, 还是其他任何语言都是用. 如果你有php使用经验, 那肯定就更好了 业务背景 框架及相应环境 laravel5.7, mysql5.7, redis5, nginx1.15 cento...

    xeblog 评论0 收藏0
  • 一次惊心动魄的前端性能优化之旅

    摘要:方案未引起重视,并没有做出相应处理。页面中元素的布局是相对的,因此一个元素的布局发生变化,会联动地引发其他元素的布局发生变化。这里可以使用的和来分析的性能。写在最后性能优化是一门做减法的艺术。 欢迎一起交流 欢迎关注我的个人公众号,不定期更新自己的工作心得。showImg(https://segmentfault.com/img/bVEk23?w=258&h=258); 正文从这里开始...

    Bryan 评论0 收藏0
  • 一次惊心动魄的前端性能优化之旅

    摘要:方案未引起重视,并没有做出相应处理。页面中元素的布局是相对的,因此一个元素的布局发生变化,会联动地引发其他元素的布局发生变化。这里可以使用的和来分析的性能。写在最后性能优化是一门做减法的艺术。 欢迎一起交流 欢迎关注我的个人公众号,不定期更新自己的工作心得。showImg(https://segmentfault.com/img/bVEk23?w=258&h=258); 正文从这里开始...

    leejan97 评论0 收藏0
  • 一次惊心动魄的前端性能优化之旅

    摘要:方案未引起重视,并没有做出相应处理。页面中元素的布局是相对的,因此一个元素的布局发生变化,会联动地引发其他元素的布局发生变化。这里可以使用的和来分析的性能。写在最后性能优化是一门做减法的艺术。 欢迎一起交流 欢迎关注我的个人公众号,不定期更新自己的工作心得。showImg(https://segmentfault.com/img/bVEk23?w=258&h=258); 正文从这里开始...

    Anshiii 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<