执行计划不对,导致cpu负载飙升,如何避免执行计划不对的问题呢?

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】
ob版本:4.2.1.3
【问题描述】选错执行计划导致cpu负载飙高,除了手动绑定执行计划还有其他办法避免这种问题呢?

【附件及日志】
查看topsql发现此sql执行特别高

查看执行计划,看到生成时间和历史趋势的时间点和cpu负载高的时间点完全重合



对比执行计划:


临时解决办法:
手动绑定执行计划,cpu使用率下降

查看历史统计任务都是成功的

疑问:目前除了手动绑定正确的执行计划,还有什么手段可以避免这种问题的发生呢?

1 个赞

看着是执行计划走偏了 目前可以通过ocp绑定执行计划或者黑屏绑定执行计划 可能是是计划缓存被刷掉了 导致的计划走偏 也有可能是ddl操作导致计划失效 目前4213已经发行很久了 这个版本的优化器可能也有问题 建议升级到ob4256这个lts版本上

升级到4.2.5.5可以吗?

可以 可以升级一下

好的,已安排近期升级,到时候我们在观察下

学习了