oracle数据库相同sql重复查询,第二次执行效率很低问题

关于oracle数据库相同sql重复查询,第二次执行效率很低问题

问题描述: 工作中遇见了从一个现有数据库导出dmp文件复制一个新环境时,同一个sql第一次执行很快就能查询出结果,但是第二次执行的时候sql一直在跑,但是一直查不出结果。
问题排查: 经过多个数据库比对,以及使用PLSQL工具的执行计划分析发现,第一次的执行计划和第二次的执行计划不一致。
解决方案:

--查看参数
show parameter _optimizer_use_feedback
--关闭基数反馈
alter system set "_optimizer_use_feedback"=FALSE

概念描述: oracle存在一个机制 基数反馈(Cardinality Feedback )是 Oracle 11.2 中引入的关于 SQL 性能优化的新特性,该特性主要针对统计信息陈旧、无直方图或虽然有直方图但仍基数计算不准确的情况,Cardinality 基数的计算直接影响到后续的 JOIN COST 等重要的成本计算评估,造成 CBO 选择不当的执行计划。但是该参数存在不稳定因素,可能会带来执行效率的问题,建议关闭优化器反馈。

原文链接:https://blog.csdn.net/qq_30513477/article/details/115938484
文章引用:
站内大佬分析过程,我是一个搬运工

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值