oracle 查询语句 第一次执行很快,第二次执行就很慢 。是什么原因

 我来答
yhh5618
2021-10-08
知道答主
回答量:22
采纳率:100%
帮助的人:6万
展开全部
oracle 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;
系统已更改。
————————————————
原文链接:https://blog.csdn.net/demonson/article/details/80522150
liqian_abc1
2014-10-24 · TA获得超过222个赞
知道小有建树答主
回答量:327
采纳率:100%
帮助的人:163万
展开全部
如果返回数据量大的话,应该是这样,内存满了的缘故
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oowood
推荐于2017-05-21 · TA获得超过1781个赞
知道大有可为答主
回答量:2196
采纳率:81%
帮助的人:1240万
展开全部
要是全表扫描的话,可能是查询的高水位不释放
SQL> SELECT segment_name, segment_type, blocks
FROM dba_segments
WHERE segment_name='BIG_EMP1';
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凌晨六点整
2014-10-23 · TA获得超过140个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:152万
展开全部
是不是有远程表,可能是信号不稳定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小伙伴ol7
2014-10-23
知道答主
回答量:59
采纳率:0%
帮助的人:17.8万
展开全部
贴出你的查询!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式