大牛们帮忙看看,这两个SQL哪个执行效率高,serv_type_num不是索引
SQL> explain plan for select USR_NUMBER,
  2         MIN(BRAND_CD) BRAND_CD,
  3         SUM(case when A.ROAM_TYPE_NUM=0 then A.CALL_NUM else 0 END) 
  4         SUM(case when A.ROAM_TYPE_NUM=0 then A.CALL_TIM else 0 END)
  5         SUM(case when A.toll_type_num=10 then A.CALL_TIM else 0 END)
  6         SUM(case when A.toll_type_num=11 then A.CALL_TIM else 0 END)
  7         SUM(case when A.ROAM_TYPE_NUM=8 then A.CALL_TIM else 0 END)
  8         SUM(case when A.ROAM_TYPE_NUM=9 then A.CALL_TIM else 0 END)
  9  from AAAAA_201211 A
 10  where substr(serv_type_num,1,1)='0'
 11  and DIRE_TYP_NUM IN ('3','4')
 12  and BRAND_CD in (6,7,8)
 13  GROUP BY USR_NUMBER;
Explained.Elapsed: 00:00:00.01
SQL> select * from table(dbms_xplan.display);PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 1605481476------------------------------------------------------------------------------------------------------------------------------
| Id  | Operation               | Name          | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |
------------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT        |               |  1022K|    32M|       | 28638   (6)| 00:08:36 |        |      |            |
|   1 |  PX COORDINATOR         |               |       |       |       |            |          |        |      |            |
|   2 |   PX SEND QC (RANDOM)   | :TQ10001      |  1022K|    32M|       | 28638   (6)| 00:08:36 |  Q1,01 | P->S | QC (RAND)  |
|   3 |    SORT GROUP BY        |               |  1022K|    32M|   111M| 28638   (6)| 00:08:36 |  Q1,01 | PCWP |            |
|   4 |     PX RECEIVE          |               |  1066K|    33M|       | 28634   (6)| 00:08:36 |  Q1,01 | PCWP |            |
|   5 |      PX SEND HASH       | :TQ10000      |  1066K|    33M|       | 28634   (6)| 00:08:36 |  Q1,00 | P->P | HASH       |
|   6 |       PX BLOCK ITERATOR |               |  1066K|    33M|       | 28634   (6)| 00:08:36 |  Q1,00 | PCWC |            |
|*  7 |        TABLE ACCESS FULL| AAAAA_201211  |  1066K|    33M|       | 28634   (6)| 00:08:36 |  Q1,00 | PCWP |            |Predicate Information (identified by operation id):
---------------------------------------------------   7 - filter(("DIRE_TYPE_NUM"='3' OR "DIRE_TYPE_NUM"='4') AND SUBSTR("SERV_TYP_NUM",1,1)='0' AND ("BRAND_CD"=6 OR "BRAND_CD"=7 OR
              "BRAND_CD"=8))
20 rows selected.Elapsed: 00:00:00.03

SQL> explain plan for select USR_NUMBER,
  2         MIN(BRAND_CD) BRAND_CD,
  3         SUM(case when A.ROAM_TYPE_NUM=0 then A.CALL_NUM else 0 END) 
  4         SUM(case when A.ROAM_TYPE_NUM=0 then A.CALL_TIM else 0 END)
  5         SUM(case when A.toll_type_num=10 then A.CALL_TIM else 0 END)
  6         SUM(case when A.toll_type_num=11 then A.CALL_TIM else 0 END)
  7         SUM(case when A.ROAM_TYPE_NUM=8 then A.CALL_TIM else 0 END)
  8         SUM(case when A.ROAM_TYPE_NUM=9 then A.CALL_TIM else 0 END)
  9  from AAAAA_201211 A
 10  where serv_type_num LIKE '0%'
 11  and DIRE_TYP_NUM IN ('3','4')
 12  and BRAND_CD BETWEEN 6 AND 8
 13  GROUP BY USR_NUMBER;
Explained.Elapsed: 00:00:00.01
SQL> select * from table(dbms_xplan.display);PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 1605481476------------------------------------------------------------------------------------------------------------------------------
| Id  | Operation               | Name          | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |
------------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT        |               |  7808K|   245M|       | 28642   (6)| 00:08:36 |        |      |            |
|   1 |  PX COORDINATOR         |               |       |       |       |            |          |        |      |            |
|   2 |   PX SEND QC (RANDOM)   | :TQ10001      |  7808K|   245M|       | 28642   (6)| 00:08:36 |  Q1,01 | P->S | QC (RAND)  |
|   3 |    SORT GROUP BY        |               |  7808K|   245M|  1077M| 28642   (6)| 00:08:36 |  Q1,01 | PCWP |            |
|   4 |     PX RECEIVE          |               |    12M|   388M|       | 28602   (6)| 00:08:35 |  Q1,01 | PCWP |            |
|   5 |      PX SEND HASH       | :TQ10000      |    12M|   388M|       | 28602   (6)| 00:08:35 |  Q1,00 | P->P | HASH       |
|   6 |       PX BLOCK ITERATOR |               |    12M|   388M|       | 28602   (6)| 00:08:35 |  Q1,00 | PCWC |            |
|*  7 |        TABLE ACCESS FULL| AAAAA_201211  |    12M|   388M|       | 28602   (6)| 00:08:35 |  Q1,00 | PCWP |            |
------------------------------------------------------------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------   7 - filter("SERV_TYPE_NUM" LIKE '0%' AND ("DIRE_TYP_NUM"='3' OR "DIRE_TYPE_NUM"='4') AND "BRAND_CD"<=8 AND "BRAND_CD">=6)19 rows selected.Elapsed: 00:00:00.03