运维联盟俱乐部

 找回密码
 立即注册
查看: 1441|回复: 0

[性能优化] _optimizer_use_feedback

[复制链接]
  • TA的每日心情
    开心
    2023-8-9 11:05
  • 发表于 2021-11-5 17:40:15 | 显示全部楼层 |阅读模式
    有时候会遇到比较奇怪的现象,首次执行sql速度很快,后面再执行就变得很慢正常来讲同样的一条SQL查询语句,根据执行计划,第一次查询完以后,后续再执行相同的语句应该很快才对。
    可是,现实却是第一次查询不慢(优化后2秒内查询),第二次以后就很慢。

    对于执行计划中,在note部分有“cardinality feedback used for this statement”,表示使用了基数反馈(Cardinality Feedback)
    基数反馈(Cardinality Feedback)是 Oracle 11.2 中引入的新特性,主要针对统计信息旧、无直方图或有直方图但仍基数计算不准确的情况,
    Cardinality 基数的计算直接影响到后续的 JOIN COST 等重要的成本计算评估,造成 CBO 选择错误的执行计划。但是该参数存在不稳定因素,可能会带来执行效率的问题,建议关闭
    alter system set "_optimizer_use_feedback"=FALSE;
    此处先在session级别关闭
    alter session set "_optimizer_use_feedback"=FALSE;

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    运维联盟俱乐部 ( 冀ICP备19036648号 )

    GMT+8, 2024-5-17 10:14 , Processed in 0.049955 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表