开发人员反映,系统工单无法提交成功,双机业务程序报超时异常,请求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
5)优化效果
执行时间由之前的150s左右降为1s左右,应用程序重启后功能恢复正常了。
6)之前跑的很正常的程序,为什么突然间异常了?
==》结合历史快照及sql信息,虽然执行次数少,但可以看到上午时间10点后就异常了,而其他时间的信息快照信息也没有抓到,进一步说明之前确实是正常的。
==》查询某表的统计信息变更时间,上午时间段确实有变化。大致可以确定统计信息发生了变化,导致涉及某表的一批sql语句执行计划异常。至于是啥原因导致了统计信息有变更,这里不再阐述。
这种执行次数少的语句,历史信息可能没有记录,导致出问题时,不能和历史的执行计划做对比,立即判断出执行计划有变化。这套系统之前上线时碰到过此类问题,根据以往经验,这次能够快速的优化解决问题。反之,可能就要折腾一段时间了。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/130015.html
摘要:这是多处理器系统中,调度器用来分散任务到不同的机制,通常也被称为处理器间中断,。文章编写计划 待完成: 详细介绍用到的各个工具 作者: 万千钧(祝星) 适合阅读人群 文中的调优思路无论是php, java, 还是其他任何语言都是用. 如果你有php使用经验, 那肯定就更好了 业务背景 框架及相应环境 laravel5.7, mysql5.7, redis5, nginx1.15 cento...
摘要:这是多处理器系统中,调度器用来分散任务到不同的机制,通常也被称为处理器间中断,。文章编写计划 待完成: 详细介绍用到的各个工具 作者: 万千钧(祝星) 适合阅读人群 文中的调优思路无论是php, java, 还是其他任何语言都是用. 如果你有php使用经验, 那肯定就更好了 业务背景 框架及相应环境 laravel5.7, mysql5.7, redis5, nginx1.15 cento...
摘要:方案未引起重视,并没有做出相应处理。页面中元素的布局是相对的,因此一个元素的布局发生变化,会联动地引发其他元素的布局发生变化。这里可以使用的和来分析的性能。写在最后性能优化是一门做减法的艺术。 欢迎一起交流 欢迎关注我的个人公众号,不定期更新自己的工作心得。showImg(https://segmentfault.com/img/bVEk23?w=258&h=258); 正文从这里开始...
摘要:方案未引起重视,并没有做出相应处理。页面中元素的布局是相对的,因此一个元素的布局发生变化,会联动地引发其他元素的布局发生变化。这里可以使用的和来分析的性能。写在最后性能优化是一门做减法的艺术。 欢迎一起交流 欢迎关注我的个人公众号,不定期更新自己的工作心得。showImg(https://segmentfault.com/img/bVEk23?w=258&h=258); 正文从这里开始...
摘要:方案未引起重视,并没有做出相应处理。页面中元素的布局是相对的,因此一个元素的布局发生变化,会联动地引发其他元素的布局发生变化。这里可以使用的和来分析的性能。写在最后性能优化是一门做减法的艺术。 欢迎一起交流 欢迎关注我的个人公众号,不定期更新自己的工作心得。showImg(https://segmentfault.com/img/bVEk23?w=258&h=258); 正文从这里开始...
阅读 1349·2023-01-11 13:20
阅读 1693·2023-01-11 13:20
阅读 1146·2023-01-11 13:20
阅读 1868·2023-01-11 13:20
阅读 4106·2023-01-11 13:20
阅读 2726·2023-01-11 13:20
阅读 1391·2023-01-11 13:20
阅读 3606·2023-01-11 13:20