![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle CBO优化器
文章平均质量分 75
Oracle CBO优化器
DBhanG
这个作者很懒,什么都没留下…
展开
-
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原创 2021-08-31 16:03:03 · 386 阅读 · 0 评论 -
Oracle Adaptive Cursor Sharing(ACS)
Adaptive Cursor Sharing(ACS) 解决了绑定变量窥探问题开启自适应游标共享后测试绑定变量窥探:确保开启自适应共享游标相关参数:alter system set "_optim_peek_user_binds"=true scope=spfile;alter system set "_optimizer_adaptive_cursor_sharing"=TRUE scope=spfile;alter system set "_optimizer_extended_c原创 2021-08-31 15:59:45 · 361 阅读 · 0 评论 -
Oracle Bind Value Peeking
Oracle 9i引入绑定变量窥视技术(Bind Value Peeking),在没有这项技术之前,使用绑定变量后,执行计划的产生要靠默认的选择性判断,这种判断往往会出现严重的偏差,加了这项技术后,当SQL进行硬解析时,对于使用了绑定变量的字段,不再采用以往默认的cost来分析的方式,而是会对绑定变量进行窥探,也就是优化器采集绑定变量的值,用窥探到的绑定变量的值来计算CBO的开销,生成执行计划为了测试Bind Value Peeking:在11g环境下先将自适应共享游标关闭:alter sy原创 2021-08-31 15:56:38 · 159 阅读 · 0 评论 -
Oracle CBO Transformation-FPD(filter push-down)
对于用户写的SQL,Oracle会进行等价改写。这种改写转换都是基于一种固定的算法,也叫启发式转换,大多存在问题,比如我们写in,oracle在有可能的情况下,会将in转换成exist,然后用semi join的方式给你做join,在一般情况下exist比in...一.Oracle不做transformation,这时你就要去分析原因二.Orale做错了transformation,导致了错误的结果集.(复杂的视图)join: inner-join:等值连接 outer-jo...原创 2021-08-19 16:46:57 · 867 阅读 · 0 评论