[20151207]filter( IS NULL).txt

简介: [20151207]filter( IS NULL).txt --前一阵子别人问的问题,filter (IS NOT NULL)是什么意思? -- http://www.

[20151207]filter( IS NULL).txt

--前一阵子别人问的问题,filter (IS NOT NULL)是什么意思?
-- http://www.itpub.net/thread-1943880-1-1.html

--正好看刘工的视频"51CTO学院-Oracle性能优化精讲视频课程【刘相兵】-ORACLE Maclean 的Oracle性能优化讲座",找到如下
--语句,通过它来说明?

SCOTT@book> @ &r/ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production


SCOTT@book> alter session set statistics_level=all;
Session altered.

SELECT /*+ RULE to make sure it reproduces 100% */
      ename
      ,job
      ,sal
      ,dname
  FROM emp, dept
WHERE     dept.deptno = emp.deptno
       AND NOT EXISTS
              (SELECT *
                 FROM salgrade
                WHERE emp.sal BETWEEN losal AND hisal);


SCOTT@book> @ &r/dpcz
PLAN_TABLE_OUTPUT
-------------------------------------
SQL_ID  anbbf4bvm5n5n, child number 0
-------------------------------------
SELECT /*+ RULE to make sure it reproduces 100% */       ename
,job       ,sal       ,dname   FROM emp, dept  WHERE     dept.deptno =
emp.deptno        AND NOT EXISTS               (SELECT *
  FROM salgrade                 WHERE emp.sal BETWEEN losal AND hisal)
Plan hash value: 243245009
-------------------------------------------------------------------------------------------
| Id  | Operation                     | Name     | Starts | A-Rows |   A-Time   | Buffers |
-------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT              |          |      1 |      0 |00:00:00.01 |     109 |
|*  1 |  FILTER                       |          |      1 |      0 |00:00:00.01 |     109 |
|   2 |   NESTED LOOPS                |          |      1 |     14 |00:00:00.01 |      25 |
|   3 |    NESTED LOOPS               |          |      1 |     14 |00:00:00.01 |      11 |
|   4 |     TABLE ACCESS FULL         | EMP      |      1 |     14 |00:00:00.01 |       7 |
|*  5 |     INDEX UNIQUE SCAN         | PK_DEPT  |     14 |     14 |00:00:00.01 |       4 |
|   6 |    TABLE ACCESS BY INDEX ROWID| DEPT     |     14 |     14 |00:00:00.01 |      14 |
|*  7 |   TABLE ACCESS FULL           | SALGRADE |     12 |     12 |00:00:00.01 |      84 |
-------------------------------------------------------------------------------------------
Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------
   1 - SEL$1
   4 - SEL$1 / EMP@SEL$1
   5 - SEL$1 / DEPT@SEL$1
   6 - SEL$1 / DEPT@SEL$1
   7 - SEL$2 / SALGRADE@SEL$2

Predicate Information (identified by operation id):
---------------------------------------------------
   1 - filter( IS NULL)
   5 - access("DEPT"."DEPTNO"="EMP"."DEPTNO")
   7 - filter(("HISAL">=:B1 AND "LOSAL"<=:B2))
Note
-----
   - rule based optimizer used (consider using cbo)

--这里的fliter ID=1条件是1 - filter( IS NULL).如果理解这个条件,就很好理解filter( IS NOT NULL)

SELECT /*+ RULE to make sure it reproduces 100% */
      ename
      ,job
      ,sal
      ,dname
  FROM emp, dept
WHERE     dept.deptno = emp.deptno
       AND EXISTS
              (SELECT *
                 FROM salgrade
                WHERE emp.sal BETWEEN losal AND hisal);

目录
相关文章
|
前端开发
前端学习案例16-数组方法filter&undefined和null对比2
前端学习案例16-数组方法filter&undefined和null对比2
48 0
前端学习案例16-数组方法filter&undefined和null对比2
|
前端开发
前端学习案例15-数组方法filter&undefined和null对比 原
前端学习案例15-数组方法filter&undefined和null对比 原
52 0
前端学习案例15-数组方法filter&undefined和null对比 原
|
前端开发
前端学习案例17-数组方法filter&undefined和null对比3
前端学习案例17-数组方法filter&undefined和null对比3
47 0
前端学习案例17-数组方法filter&undefined和null对比3
|
SQL Oracle 关系型数据库
[20170516]nvl与非NULL约束.txt
[20170516]nvl与非NULL约束.txt --前几天做的测试http://blog.itpub.net/267265/viewspace-2137853/,实际上差异没有这个大,因为第2个多数是常量.
855 0
|
索引 关系型数据库 Oracle
[20160704]NULL与主外键问题.txt
[20160704]NULL与主外键问题.txt --主外键的问题主要出现在阻塞等情况,有许多极端dba认为应该取消这个约束.当然从使用的角度出发有总比没有好.只是不要过度滥用.
775 0
|
存储 Oracle 关系型数据库
[20160619]NULL在数据库的存储.txt
[20160619]NULL在数据库的存储.txt --简单探究NULL在数据库的存储.这也是别人前几天问的问题,我自己学习oracle这么久,也没有仔细观察过. 1.
843 0
|
Oracle 关系型数据库
[20140823]12c null与缺省值.txt
[20140823]12c null与缺省值.txt --12c 当插入NULL时可以指定缺省值.不知道为什么设置这个特性,有点怪怪的. SCOTT@test01p> @ver BANNER                                ...
728 0
|
SQL 物联网 索引
[20121028]IOT的第2索引-NULL的问题.txt
[20121028]IOT的第2索引-NULL的问题.txt IOT表实际上时索引结构,如果第2索引的键值为NULL,会是什么情况呢? 因为第2索引包含主键,而主键是不能为NULL的,这样即使第2索引的键值为NULL,会包括在第2索引中吗? 自己做一些测试验证看看: 1.
732 0
|
SQL
[20121028]not in与NULL问题.txt
[20121028]not in与NULL问题.txt 在sql语句中使用not in,在遇到子表含有NULL的情况下,会出现没有行返回的情况,自己遇到过几次,好几次没有转过弯来。
856 0
|
SQL 关系型数据库 Oracle
[20121020]主外键约束以及NULL问题.txt
[20121020]主外键约束以及NULL问题.txt 主外键约束可以一定程度保证数据完整性,但是如果外键输入的是NULL,情况会如何呢? SQL> select * from v$version ; BANNER -----------------------...
753 0