zoukankan      html  css  js  c++  java
  • 谓词推入演示

    create or replace view v_emp as select emp.empno,emp.ename,emp.deptno from emp,dept
    where emp.deptno=dept.deptno;
    
    SQL> select * from t10;
    
    	ID NAME
    ---------- ----------
    	 1 a
    	 2 b
    	 3 c
          7902 d
          7900 e
          7844 f
    
    已选择6行。
    
    SQL> select * from v_emp;
    
         EMPNO ENAME	  DEPTNO
    ---------- ---------- ----------
          7369 SMITH	      20
          7499 ALLEN	      30
          7521 WARD 	      30
          7566 JONES	      20
          7654 MARTIN	      30
          7698 BLAKE	      30
          7782 CLARK	      10
          7788 SCOTT	      20
          7839 KING 	      10
          7844 TURNER	      30
          7876 ADAMS	      20
    
         EMPNO ENAME	  DEPTNO
    ---------- ---------- ----------
          7900 JAMES	      30
          7902 FORD 	      20
          7934 MILLER	      10
    
    已选择14行。
    
    SQL> select  /*+ use_nl(a b)  */ * from t10 a,v_emp b
    where a.id=b.empno(+)  2  ;
    
    已选择6行。
    
    
    执行计划
    ----------------------------------------------------------
    Plan hash value: 1825515217
    
    ---------------------------------------------------------------------------------------
    | Id  | Operation		     | Name   | Rows  | Bytes | Cost (%CPU)| Time     |
    ---------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT	     |	      |     6 |   228 |     9	(0)| 00:00:01 |
    |   1 |  NESTED LOOPS OUTER	     |	      |     6 |   228 |     9	(0)| 00:00:01 |
    |   2 |   TABLE ACCESS FULL	     | T10    |     6 |   150 |     3	(0)| 00:00:01 |
    |*  3 |   TABLE ACCESS BY INDEX ROWID| EMP    |     1 |    13 |     1	(0)| 00:00:01 |
    |*  4 |    INDEX UNIQUE SCAN	     | PK_EMP |     1 |       |     0	(0)| 00:00:01 |
    ---------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       3 - filter("EMP"."DEPTNO"(+) IS NOT NULL)
       4 - access("A"."ID"="EMP"."EMPNO"(+))
    
    Note
    -----
       - dynamic sampling used for this statement (level=2)
    
    
    统计信息
    ----------------------------------------------------------
    	 11  recursive calls
    	  0  db block gets
    	 24  consistent gets
    	  0  physical reads
    	  0  redo size
    	837  bytes sent via SQL*Net to client
    	415  bytes received via SQL*Net from client
    	  2  SQL*Net roundtrips to/from client
    	  1  sorts (memory)
    	  0  sorts (disk)
    	  6  rows processed
    
    
    SQL> select  /*+ use_nl(a b) no_merge(b)*/ * from t10 a,v_emp b
    where a.id=b.empno(+)  2  ;
    
    已选择6行。
    
    
    执行计划
    ----------------------------------------------------------
    Plan hash value: 3375986511
    
    ----------------------------------------------------------------------------------------
    | Id  | Operation		      | Name   | Rows  | Bytes | Cost (%CPU)| Time     |
    ----------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT	      |        |     6 |   438 |     9	 (0)| 00:00:01 |
    |   1 |  NESTED LOOPS OUTER	      |        |     6 |   438 |     9	 (0)| 00:00:01 |
    |   2 |   TABLE ACCESS FULL	      | T10    |     6 |   228 |     3	 (0)| 00:00:01 |
    |   3 |   VIEW PUSHED PREDICATE       | V_EMP  |     1 |    35 |     1	 (0)| 00:00:01 |
    |*  4 |    TABLE ACCESS BY INDEX ROWID| EMP    |     1 |    13 |     1	 (0)| 00:00:01 |
    |*  5 |     INDEX UNIQUE SCAN	      | PK_EMP |     1 |       |     0	 (0)| 00:00:01 |
    ----------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       4 - filter("EMP"."DEPTNO" IS NOT NULL)
       5 - access("EMP"."EMPNO"="A"."ID")
    
    Note
    -----
       - dynamic sampling used for this statement (level=2)
    
    
    统计信息
    ----------------------------------------------------------
    	 17  recursive calls
    	  0  db block gets
    	 40  consistent gets
    	  0  physical reads
    	  0  redo size
    	832  bytes sent via SQL*Net to client
    	415  bytes received via SQL*Net from client
    	  2  SQL*Net roundtrips to/from client
    	  1  sorts (memory)
    	  0  sorts (disk)
    	  6  rows processed
    
    可以看到谓词推入通过关联列推入.
    
    
    

  • 相关阅读:
    多线程编程
    Phthon环境搭建
    网站开发语言方案的选择
    NSTimer的一个误区
    一个tableview的自带动画
    一个扇形的动画效果
    一点两个uiview动画切换的体会
    关于gcd一些自己的理解。
    使用到定时器,单例和协议的一个小应用(2 )
    使用到定时器,单例和协议的一个小应用(1)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13352078.html
Copyright © 2011-2022 走看看