`
周凡杨
  • 浏览: 230379 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle_执行计划_谓词信息和数据获取

阅读更多

 

oracle_执行计划_谓词信息和数据获取()

一:简要说明

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

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

 

二:举例说明

 

C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 12月 26 10:17:27 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn haec0/test@HATEST
已连接。
SQL> create table zhou_t (x int , y int );
表已创建。
SQL> set autotrace trace exp;
SQL> select /*+rule*/ * from zhou_t where x=5;
执行计划
----------------------------------------------------------
Plan hash value: 1395150869
------------------------------------
| Id  | Operation         | Name   |
------------------------------------
|   0 | SELECT STATEMENT  |        |
|*  1 |  TABLE ACCESS FULL| ZHOU_T |
------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
   1 - filter("X"=5)
Note
-----
-          rule based optimizer used (consider using cbo)
  

因为表zhou_t没有创建索引,执行计划没有选择数据访问路径的余地,谓词条件在这里只是起到数据过滤的作用,所以使用了filter

如果在表上创建了索引呢?下面来看看:

 

 

SQL> create index zhou_t_idx on zhou_t(x,y);
索引已创建。
SQL> select /*+rule*/ * from zhou_t where x=5;
执行计划
----------------------------------------------------------
Plan hash value: 42197324
---------------------------------------
| Id  | Operation        | Name       |
---------------------------------------
|   0 | SELECT STATEMENT |            |
|*  1 |  INDEX RANGE SCAN| ZHOU_T_IDX |
---------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
   1 - access("X"=5)
Note
-----
-          rule based optimizer used (consider using cbo)
 

从上面可以看到,谓词条件影响到数据访问的路径------选择了索引,所以用access

分享到:
评论

相关推荐

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例143 获取系统中的特定日期和时间 171 实例144 比较时间的大小 172 实例145 计算考试时间 173 实例146 倒计时 173 实例147 网页闹钟 174 实例148 计算程序运行时间 176 第3章 Web页面交互 178 3.1 获取表单元素的...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例143 获取系统中的特定日期和时间 171 实例144 比较时间的大小 172 实例145 计算考试时间 173 实例146 倒计时 173 实例147 网页闹钟 174 实例148 计算程序运行时间 176 第3章 Web页面交互 178 3.1 获取表单元素的...

    C#开发经验技巧宝典

    0973 通用方法获取查询结果DataSet数据集 568 0974 同时查询多条SQL语句 568 0975 如何判断是否查询到结果 568 0976 将图片以二进制格式存储到数据库中(asp.net) 569 0977 从DataReader对象读取数据的...

    C#.net_经典编程例子400个

    122 实例092 为控件制作立体效果 122 实例093 获取控件名称和内容 124 第3章 组件应用 127 3.1 BackgroundWorker组件 128 实例094 BackgroundWorker组件执行异步操作 128 3.2 ...

    Oracle 10g 开发与管理

    本文是由笔者2012年学习oracle数据库时编写的学习札记,其中的题目 多数为老师留下的思考题目。 我相信本文会对初学者使用oracle有一个初步的使用印象。右图为我所参 考的书籍。 目录 第一讲 Oacle关系数据库 ...

    db2-技术经验总结

    1.58. 怎么样获取表结构以及索引的信息 82 1.59. 如果怀疑应用程序有死锁现象,如何确认是否死锁,并判断是哪些程序引起的死锁? 84 1.60. 数据库创建以后相关的目录和文件都有哪一些? 85 1.61. 自增列(IDENTITY) 86...

    C#程序开发范例宝典(第2版).part13

    实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 7.8 鼠标操作 353 实例258 切换鼠标左右键 353 实例259 限制鼠标活动区域 354 实例260 ...

    C#程序开发范例宝典(第2版).part08

    实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 7.8 鼠标操作 353 实例258 切换鼠标左右键 353 实例259 限制鼠标活动区域 354 实例260 ...

    C#程序开发范例宝典(第2版).part02

    实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 7.8 鼠标操作 353 实例258 切换鼠标左右键 353 实例259 限制鼠标活动区域 354 实例260 ...

    C#程序开发范例宝典(第2版).part12

    实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 7.8 鼠标操作 353 实例258 切换鼠标左右键 353 实例259 限制鼠标活动区域 354 实例260 ...

Global site tag (gtag.js) - Google Analytics