oracle 谓词及相关的优化

2021/4/10 2:26:23

本文主要是介绍oracle 谓词及相关的优化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

什么是谓词,谓词用来做什么,谓词相关的优化

分类

  • access 谓词多用于使用索引访问场景,影响数据的访问路径。
  • filter谓词多用于无法使用索引访问场景,filter表示谓词条件的值并不会影响数据访问路径,只起到过滤的作用没有驱动作用。不物理读一个块然后就对里面的记录做过滤,而是一次物理读取多个块后逻辑读并做过滤。

优化:

过滤谓词推入(VIEW PUSHED PREDICATE):

        把库表中判断的条件推入进视图中进行判断。后续不再对库表进行筛选。

连接谓词推入(Join Predicate  Pushdown)

谓词越界:

   即如果对目标列指定的WHERE查询条件不在该列的最大值和最小值之间,CBO就无法判断出针对该列的查询条件的可选择率,所以只能用一个估算值来作为针对该目标列的查询条件的可选择率。如果这个估算的可选择率与实际情况严重不符的话,那么就有可能导致CBO评估出来的Cardinality出现严重偏差,进而使得CBO选错执行计划。



这篇关于oracle 谓词及相关的优化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程