加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle sql 第一次查询快, 以后查询慢

发布时间:2020-12-12 14:05:10 所属栏目:百科 来源:网络整理
导读:大多数情况下,用oracle, 第一次查询慢, 第二次查询肯定比第二次查询快对吧, 但对于这种情况,第一次查询快, 以后查询慢。 Cardinality Feedback 基数反馈, 是版本11.2中引入的关于SQL 性能优化的新特性, 该特性主要针对 统计信息陈旧、无直方图或虽然

大多数情况下,用oracle, 第一次查询慢, 第二次查询肯定比第二次查询快对吧,

但对于这种情况,第一次查询快, 以后查询慢。

Cardinality Feedback基数反馈, 是版本11.2中引入的关于SQL 性能优化的新特性,该特性主要针对 统计信息陈旧、无直方图或虽然有直方图但仍基数计算不准确的情况, Cardinality基数的计算直接影响到后续的JOIN COST等重要的成本计算评估,造成CBO选择不当的执行计划。以上是Cardinality Feedback特性引入的初衷。

基数反馈多少也造成了一些麻烦,典型的情况是测试语句性能时,第一次的性能最好,之后再运行其性能变差。


如何禁用Cardinality Feedback基数反馈

对于这些”惹火”特性,为了stable,往往考虑关闭该特性。

可以通过多种方法禁用该特性

1. 使用_optimizer_use_feedback 隐藏参数

session 级别

SQL> alter session set “_optimizer_use_feedback”=false;

会话已更改。

system级别

SQL> alter system set “_optimizer_use_feedback”=false;

系统已更改。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读