zoukankan      html  css  js  c++  java
  • 执行计划之CONCATENATION

    CREATE TABLE T_CONCAT
        (ID NUMBER,    
        NAME VARCHAR2(30), 
        TYPE VARCHAR2(30));
    
    INSERT INTO T_CONCAT
      SELECT ROWNUM, OBJECT_NAME, OBJECT_TYPE FROM ALL_OBJECTS;
    SQL> CREATE INDEX IND_CONCAT_NAME
      2  ON T_CONCAT (NAME);
    
    索引已创建。
    
    SQL> CREATE INDEX IND_CONCAT_TYPE
      2  ON T_CONCAT(TYPE);
    
    索引已创建。
    
    SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS(USER, 'T_CONCAT')
    
    PL/SQL 过程已成功完成。
    
    
    SQL> SELECT COUNT(*)
      FROM T_CONCAT
     WHERE NAME = 'T_CONCAT'
        OR TYPE = 'DATABASE LINK';  2    3    4  
    
    
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 1182419877
    
    ----------------------------------------------------------------------------------------------------
    | Id  | Operation			 | Name 	   | Rows  | Bytes | Cost (%CPU)| Time	   |
    ----------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT		 |		   |	 1 |	34 |	 9   (0)| 00:00:01 |
    |   1 |  SORT AGGREGATE 		 |		   |	 1 |	34 |		|	   |
    |   2 |   BITMAP CONVERSION COUNT	 |		   |  1882 | 63988 |	 9   (0)| 00:00:01 |
    |   3 |    BITMAP OR			 |		   |	   |	   |		|	   |
    |   4 |     BITMAP CONVERSION FROM ROWIDS|		   |	   |	   |		|	   |
    |*  5 |      INDEX RANGE SCAN		 | IND_CONCAT_TYPE |	   |	   |	 6   (0)| 00:00:01 |
    |   6 |     BITMAP CONVERSION FROM ROWIDS|		   |	   |	   |		|	   |
    |*  7 |      INDEX RANGE SCAN		 | IND_CONCAT_NAME |	   |	   |	 3   (0)| 00:00:01 |
    ----------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       5 - access("TYPE"='DATABASE LINK')
       7 - access("NAME"='T_CONCAT')
    
    
    Statistics
    ----------------------------------------------------------
    	  1  recursive calls
    	  0  db block gets
    	  5  consistent gets
    	  0  physical reads
    	  0  redo size
    	422  bytes sent via SQL*Net to client
    	419  bytes received via SQL*Net from client
    	  2  SQL*Net roundtrips to/from client
    	  0  sorts (memory)
    	  0  sorts (disk)
    	  1  rows processed
    
    
    SQL> SELECT  /*+ USE_CONCAT */  COUNT(*)
      FROM T_CONCAT
     WHERE NAME = 'T_CONCAT'
        OR TYPE = 'DATABASE LINK';  2    3    4  
    
    
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 1333442903
    
    -------------------------------------------------------------------------------------------------
    | Id  | Operation		      | Name		| Rows	| Bytes | Cost (%CPU)| Time	|
    -------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT	      | 		|     1 |    34 |    49   (0)| 00:00:01 |
    |   1 |  SORT AGGREGATE 	      | 		|     1 |    34 |	     |		|
    |   2 |   CONCATENATION 	      | 		|	|	|	     |		|
    |   3 |    TABLE ACCESS BY INDEX ROWID| T_CONCAT	|     2 |    68 |     4   (0)| 00:00:01 |
    |*  4 |     INDEX RANGE SCAN	      | IND_CONCAT_NAME |     2 |	|     3   (0)| 00:00:01 |
    |*  5 |    TABLE ACCESS BY INDEX ROWID| T_CONCAT	|  1881 | 63954 |    45   (0)| 00:00:01 |
    |*  6 |     INDEX RANGE SCAN	      | IND_CONCAT_TYPE |  1881 |	|     6   (0)| 00:00:01 |
    -------------------------------------------------------------------------------------------------
    
    Predicate Information (identified by operation id):
    ---------------------------------------------------
    
       4 - access("NAME"='T_CONCAT')
       5 - filter(LNNVL("NAME"='T_CONCAT'))
       6 - access("TYPE"='DATABASE LINK')
    
    
    Statistics
    ----------------------------------------------------------
    	  1  recursive calls
    	  0  db block gets
    	  6  consistent gets
    	  0  physical reads
    	  0  redo size
    	422  bytes sent via SQL*Net to client
    	419  bytes received via SQL*Net from client
    	  2  SQL*Net roundtrips to/from client
    	  0  sorts (memory)
    	  0  sorts (disk)
    	  1  rows processed

  • 相关阅读:
    RecyclerView 数据刷新的几种方式 局部刷新 notify MD
    【图片】批量获取几万张图片
    RV BaseRecyclerViewAdapterHelper 总结 MD
    RecyclerView.ItemDecoration 间隔线
    Kotlin【简介】Android开发 配置 扩展
    Kotlin 特性 语法糖 优势 扩展 高阶 MD
    一个十分简洁实用的MD风格的UI主框架
    折叠伸缩工具栏 CollapsingToolbarLayout
    FloatingActionButton FAB 悬浮按钮
    Glide Picasso Fresco UIL 图片框架 缓存 MD
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/3798105.html
Copyright © 2011-2022 走看看