Oracle Cardinality Feedback
关闭动态采样:
SQL> alter session set optimizer_dynamic_sampling=0;
Session altered.
获取sharepool中使用基数反馈的子游标。
SQL> select sql_ID,USE_FEEDBACK_STATS
FROM V$SQL_SHARED_CURSOR where USE_FEEDBACK_STATS ='Y';SQL_ID U
------------- -
0mp85ftwxaky5 Y
从图中可以看出,当前已经关闭动态采样,第一次执行SQL时,E-Rows 1014与A-Rows 1相差过大,当第二次执行时,可以看出相差很小,说明发生了基数反馈cardinality feedback,也就是CBO考虑了上次执行获取的cardinality(cardinality feedback used for this statement)。
在下列情况CBO可能无法估算出准确的Cardinality,Oracle会启用CFB功能:
1.没有收集表的统计信息,并且dynamic sampling 也没有开启;
2.一个表的查询条件涉及多列,但却没有收集扩展的统计信息(extended statistics)
3.查询条件复杂(比如条件有函数)
针对上述情况,Oracle会采取如下的CFB流程处理:
1.SQL语句第一次执行时,Oracle会监控操作的实际行数(A-Row),然后对比CBO估算的行数(E-Row)。
2.如果两个值相差很大,就记录实际行数(A-Row),做上标记。下次执行时再次进行硬解析,根据实际行数来重新生成执行计划。
3.如果两个值相差不大,CBO就不再监控这条SQL语句。
Oracle Cardinality Feedback相关推荐
- Oracle 11gR2 新技术 Cardinality Feedback
Cardinality Feedback是11gR2出现的新特性,它的出现是为了帮助ORACLE优化器依据更精准的Cardinality 产生出更加优秀的执行计划.Cardinality基数的评估准确 ...
- 基数反馈(Cardinality Feedback)
基数反馈(Cardinality Feedback) Cardinality Feedback Cardinality Feedback基数反馈是版本11.2(11.2.0.1及以后)中引入的关于SQ ...
- oracle set feedback off,Oracle数据库之Oracle导出数据中的prompt,set feedback 等是什么意思...
本文主要向大家介绍了Oracle数据库之Oracle导出数据中的prompt,set feedback 等是什么意思,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. mpt 输出 ...
- 参数调整 新部署rac_详解Oracle数据库RAC架构性能优化--参数设置+优化设计
概述 ORACLE RAC凭借其卓越的容错能力和可扩展性以及对应用透明的切换能力引领了数据库高可用架构的潮流,但在实际的生产环境中,出现的性能问题非常多,对数据库的稳定性产生很大的影响,有一些甚至影响 ...
- Oracle 12c 新特性:SQL Plan Directives与过量的动态采样解析
在 12c 中,优化器进行了较大的改变,推出了 Adaptive query optimization,从整体上说,Adaptive query optimization 可以看作如下两部分: 一部分 ...
- Oracle 21版Database In-Memory LivaLabs实验(上)
概述 目前Oracle LiveLabs上关于Oracle Database In-Memory的内容已更新,主要变化为: 数据库使用21c 增加了对21c原生JSON的实验 增加了21c AIM H ...
- Oracle SQL 高版本相关
本文翻译自Troubleshooting: High Version Count Issues (文档 ID 296377.1),有删改 主要内容: 什么是高版本问题 什么是共享SQL? 什么是&qu ...
- 读书笔记-《基于Oracle的SQL优化》-第二章-1
第二章:Oracle里的执行计划 2.1 什么是执行计划 Oracle用来执行目标SQL语句的这些步骤的组合就被称为执行计划. 执行计划可以分为如下三个部分: 1.目标SQL的正文.SQL ID和其执 ...
- 【OCP|OCM】Oracle培训考证系列
[OCP|OCM]Oracle培训考证系列 我的个人信息 网名:小麦苗 QQ:646634621 QQ群:618766405 我的博客:http://blog.itpub.net/26736162/ ...
最新文章
- 美国微生物科学院22年院士公布!舒跃龙、黄力、卢洪洲、赵国屏!
- 使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历
- 苹果 M1 “痛失” Windows 11!
- mysql安装和配置(windowns||centos)
- 从零开始学keras之卷积神经网络介绍
- 血泪八条---给中国IT教育培训机构
- 力扣111. 二叉树的最小深度(JavaScript)
- 从ip_queue到nfnetlink_queue(上)
- 【笔试/面试】—— 从大数相减到大数求除(大数求余)
- python怎么使用-如何正确使用Python进行表白
- 网站成功的三十三个法则
- 西贝柳斯好用吗?Mac打谱软件Sibelius 8
- 如何干掉msedge 浏览器首页360流氓导航页
- 第33期、基于java的网上订餐管理系统
- java获取url后缀,以及判断是否带参数(?params=xxx)
- 2-折腾python:继续一些瞎打印的小把戏
- CSS hover改变背景图片过渡动画生硬
- 五 我们经常会忘记,要学会 走路 才能 奔跑,Python基础教程
- 【机器学习】缺失值的处理方法总结
- 常见的python连接数据库包