Oracle 执行计划中access 和 filter的区别

来源:互联网 发布:股票预测软件破解 编辑:程序博客网 时间:2024/04/29 16:39

一、简要说明:

    Prediceate(谓词):一个查询中的WHERE限制条件。

    在查看执行计划的信息中,经常会看到两个谓词filter和access,它们的区别是什么,理解了这个两个词对我们解读Oracle的执行计划信息会有所帮助。

    简单地说,执行计划如果显示是access,就表示这个谓词条件的值将会影响数据的访问路径(表还是索引),filter表示谓词条件的值并不会影响数据访问路径,只起到过滤的作用

二、举例说明:

复制代码
 ----创建一张表echo----
1
SQL> create table echo as select * from dba_objects; 2 3 Table created. 4 5 SQL> set autotrace trace exp; 6 SQL> set linesize 150; 7 SQL> select * from echo where object_id=1000; 8 9 Execution Plan10 ----------------------------------------------------------11 Plan hash value: 64265775612 13 --------------------------------------------------------------------------14 | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |15 --------------------------------------------------------------------------16 | 0 | SELECT STATEMENT | | 12 | 2484 | 289 (1)| 00:00:04 |17 |* 1 | TABLE ACCESS FULL| ECHO | 12 | 2484 | 289 (1)| 00:00:04 |18 --------------------------------------------------------------------------19 20 Predicate Information (identified by operation id):21 ---------------------------------------------------22 23 1 - filter("OBJECT_ID"=1000) ----因为表echo没有创建索引,执行计划没有选择数据访问路径的余地,谓词条件在这里只是起到数据过滤的作用,所以使用了filter。24 25 Note26 -----27 - dynamic sampling used for this statement (level=2)28 ----创建索引的情况----
29
SQL> create index echo_ind on echo(object_id);30 31 Index created.32 33 SQL> select * from echo where object_id=1000;34 35 Execution Plan36 ----------------------------------------------------------37 Plan hash value: 134515912638 39 ----------------------------------------------------------------------------------------40 | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |41 ----------------------------------------------------------------------------------------42 | 0 | SELECT STATEMENT | | 1 | 207 | 2 (0)| 00:00:01 |43 | 1 | TABLE ACCESS BY INDEX ROWID| ECHO | 1 | 207 | 2 (0)| 00:00:01 |44 |* 2 | INDEX RANGE SCAN | ECHO_IND | 1 | | 1 (0)| 00:00:01 |45 ----------------------------------------------------------------------------------------46 47 Predicate Information (identified by operation id):48 ---------------------------------------------------49 50 2 - access("OBJECT_ID"=1000) ----谓词条件影响到数据访问的路径,选择了索引,所以用access。51 52 Note53 -----54 - dynamic sampling used for this statement (level=2)
复制代码
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 来大姨妈腰疼怎么办 绒面长筒靴掉筒怎么办 钢铁雄心4很卡怎么办 点透视点在纸外怎么办 被新浪微博屏蔽怎么办 孩子痰多鼻涕多怎么办 感冒痰多鼻涕多怎么办 最近鼻涕和痰多怎么办 鼻涕痰多怎么办没感冒 一岁宝宝痰多怎么办 小孩鼻涕和痰多怎么办 鼻子老长鼻屎要怎么办 眼睛老有眼屎是怎么办 眼睛有干眼屎是怎么办 小孩流黄鼻涕是怎么办 孕妇9个月流鼻涕怎么办 流黄鼻涕两周了怎么办 大人流黄脓鼻涕怎么办 鼻子一直流鼻涕像水一样怎么办 6个月婴儿流鼻涕怎么办 9个月婴儿流鼻涕怎么办 狗狗晕车吐了怎么办 小狗又拉又吐怎么办 犬瘟热流黄鼻涕怎么办 2个月幼犬流鼻涕怎么办 5个月宝宝流鼻血怎么办 1岁宝宝感冒鼻塞怎么办 4个月宝宝鼻塞怎么办 4岁宝宝感冒鼻塞怎么办 宝宝4个月流鼻涕怎么办 3个月的宝宝鼻塞怎么办 50天的小孩鼻塞怎么办 鼻子流脓鼻涕2周怎么办 两岁宝宝流清鼻涕怎么办 1岁宝宝流黄鼻涕怎么办 宝宝上火流黄鼻涕怎么办 一周岁宝宝流清鼻涕怎么办 一周岁流清鼻涕怎么办 4岁宝宝感冒发烧怎么办 6个月宝宝流鼻涕怎么办 8岁儿童感冒发烧怎么办