a毛片毛费观看-a毛片在线-a毛片在线观看-a毛片在线免费观看-国产成人综合洲欧美在线-国产成人综合高清在线观看

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

一次使用 Extended Statistics 優化SQL案例

發布時間:  2012/8/24 17:31:10

從Oracle 11g開始,Oracle提供了 Extended Statistics 新特征,本案例就恰好利用了這個新特征。

1.OBIEE終端用戶發來郵件說某某報表慢(跑了30分鐘還不出結果),請求DBA調查。通過和OBIEE的人合作,找到報表的SQL如下: 
2. 
3.select sum(T2083114.MANUL_COST_OVRRD_AMT) as c1,  4.sum(nvl(T2083114.REVSD_VAR_ESTMT_COST_AMT , 0)) as c2,  5.T2084525.ACCT_LONG_NAME as c3,  6.T2084525.NAME as c4,  7.T2083424.PRMTN_NAME as c5,  8.T2083424.PRMTN_ID as c6,  9.case  when case  when T2083424.CORP_PRMTN_TYPE_CODE = 'Target Account'   10.then 'Corporate' else T2083424.CORP_PRMTN_TYPE_CODE end  is null   11.then 'Private' else case  when T2083424.CORP_PRMTN_TYPE_CODE = 'Target Account'   12.then 'Corporate' else T2083424.CORP_PRMTN_TYPE_CODE end  end  as c7,  13.T2083424.PRMTN_STTUS_CODE as c8,  14.T2083424.APPRV_BY_DESC as c9,  15.T2083424.APPRV_STTUS_CODE as c10,  16.T2083424.AUTO_UPDT_GTIN_IND as c11,  17.T2083424.CREAT_DATE as c12,  18.T2083424.PGM_START_DATE as c13,  19.T2083424.PGM_END_DATE as c14,  20.nvl(case  when T2083424.PRMTN_STTUS_CODE = 'Confirmed'   21.then cast(( TRUNC( TO_DATE('2011-06-07' , 'YYYY-MM-DD') ) - TRUNC( T2083424.PGM_END_DATE ) ) as  VARCHAR ( 10 ) ) end  , '') as c15,  22.T2083424.PRMTN_STOP_DATE as c16,  23.T2083424.SHPMT_START_DATE as c17,  24.T2083424.SHPMT_END_DATE as c18,  25.T2083424.CNBLN_WK_CNT as c19,  26.T2083424.ACTVY_DETL_POP as c20,  27.T2083424.CMMNT_DESC as c21,  28.T2083424.PRMTN_AVG_POP as c22,  29.T2084525.CHANL_TYPE_DESC as c23,  30.T2083424.PRMTN_SKID as c24  31.from  
32.ADWG_OPTIMA_LA11.OPT_ACCT_FDIM T2084525 /* OPT_ACCT_PRMTN_FDIM */ ,  33.ADWG_OPTIMA_LA11.OPT_BUS_UNIT_FDIM T2083056, 
34.ADWG_OPTIMA_LA11.OPT_CAL_MASTR_DIM T2083357 /* OPT_CAL_MASTR_DIM01 */ ,  35.ADWG_OPTIMA_LA11.OPT_PRMTN_FDIM T2083424, 
36.ADWG_OPTIMA_LA11.OPT_ACTVY_FCT T2083114 
37.where  ( T2083056.BUS_UNIT_SKID = T2083114.BUS_UNIT_SKID and T2083114.BUS_UNIT_SKID = T2084525.BUS_UNIT_SKID  
38.and T2083114.DATE_SKID = T2083357.CAL_MASTR_SKID and T2083114.BUS_UNIT_SKID = T2083424.BUS_UNIT_SKID  
39.and T2083114.PRMTN_SKID = T2083424.PRMTN_SKID and T2083056.BUS_UNIT_NAME = 'Chile'   40.and T2083114.ACCT_PRMTN_SKID = T2084525.ACCT_SKID and T2083357.FISC_YR_ABBR_NAME = 'FY10/11'   41.and T2084525.ACCT_LONG_NAME is not null and (case  when T2083424.CORP_PRMTN_TYPE_CODE = 'Target Account'   42.then 'Corporate' else T2083424.CORP_PRMTN_TYPE_CODE end  in ('Alternate BDF', 'Corporate', 'Private'))   43.and (T2084525.ACCT_LONG_NAME in ('ADELCO - CHILE - 0066009018', 'ALIMENTOS FRUNA - CHILE - 0066009049',   44.'CENCOSUD - CHILE - 0066009007', 'COMERCIAL ALVI - CHILE - 0066009070', 'D&S - CHILE - 0066009008',   45.'DIPAC - CHILE - 0066009024', 'DIST. COMERCIAL - CHILE - 0066009087', 'DISTRIBUCION LAGOS S.A. - CHILE - 2001146505',   46.'ECOMMERCE ESCALA 1 - 1900001746', 'EMILIO SANDOVAL - CHILE - 2000402293', 'F. AHUMADA - CHILE - 0066009023',  47.'FALABELLA - CHILE - 2000406971', 'FRANCISCO LEYTON - CHILE - 0066009142', 'MAICAO - CHILE - 0066009135',   48.'MARGARITA UAUY - CHILE - 0066009146', 'PREUNIC - CHILE - 0066009032', 'PRISA DISTRIBUCION - CHILE - 2001419970',  49.'RABIE - CHILE - 0066009015', 'S Y B FARMACEUTICA S.A. - CHILE - 2000432938',   50.'SOC. INV. LA MUNDIAL LTDA - CHILE - 2001270967', 'SOCOFAR - CHILE - 0066009028',   51.'SODIMAC - CHILE - 2000402358', 'SOUTHERN CROSS - CHILE - 2002135799',   52.'SUPERM. MONSERRAT - CHILE - 0066009120', 'TELEMERCADOS EUROPA - CHILE - 0066009044'))   53.and T2083424.PRMTN_LONG_NAME in (select distinct T2083424.PRMTN_LONG_NAME as c1  54.from  
55.ADWG_OPTIMA_LA11.OPT_ACCT_FDIM T2084525 /* OPT_ACCT_PRMTN_FDIM */ ,  56.ADWG_OPTIMA_LA11.OPT_BUS_UNIT_FDIM T2083056, 
57.ADWG_OPTIMA_LA11.OPT_CAL_MASTR_DIM T2083357 /* OPT_CAL_MASTR_DIM01 */ ,  58.ADWG_OPTIMA_LA11.OPT_PRMTN_FDIM T2083424, 
59.ADWG_OPTIMA_LA11.OPT_PRMTN_PROD_FLTR_LKP T2083698 
60.where  ( T2083056.BUS_UNIT_SKID = T2083698.BUS_UNIT_SKID and T2083357.CAL_MASTR_SKID = T2083698.DATE_SKID  
61.and T2083698.ACCT_PRMTN_SKID = T2084525.ACCT_SKID and T2083424.PRMTN_SKID = T2083698.PRMTN_SKID  
62.and T2083424.BUS_UNIT_SKID = T2083698.BUS_UNIT_SKID and T2083056.BUS_UNIT_NAME = 'Chile'   63.and T2083357.FISC_YR_ABBR_NAME = 'FY10/11' and T2083698.BUS_UNIT_SKID = T2084525.BUS_UNIT_SKID   64.and (case  when T2083424.CORP_PRMTN_TYPE_CODE = 'Target Account' then 'Corporate'   65.else T2083424.CORP_PRMTN_TYPE_CODE end  in ('Alternate BDF', 'Corporate', 'Private'))   66.and (T2084525.ACCT_LONG_NAME in ('ADELCO - CHILE - 0066009018',   67.'ALIMENTOS FRUNA - CHILE - 0066009049', 'CENCOSUD - CHILE - 0066009007',   68.'COMERCIAL ALVI - CHILE - 0066009070', 'D&S - CHILE - 0066009008',   69.'DIPAC - CHILE - 0066009024', 'DIST. COMERCIAL - CHILE - 0066009087',   70.'DISTRIBUCION LAGOS S.A. - CHILE - 2001146505', 'ECOMMERCE ESCALA 1 - 1900001746',   71.'EMILIO SANDOVAL - CHILE - 2000402293', 'F. AHUMADA - CHILE - 0066009023',   72.'FALABELLA - CHILE - 2000406971', 'FRANCISCO LEYTON - CHILE - 0066009142',   73.'MAICAO - CHILE - 0066009135', 'MARGARITA UAUY - CHILE - 0066009146',  74.'PREUNIC - CHILE - 0066009032', 'PRISA DISTRIBUCION - CHILE - 2001419970',   75.'RABIE - CHILE - 0066009015', 'S Y B FARMACEUTICA S.A. - CHILE - 2000432938',   76.'SOC. INV. LA MUNDIAL LTDA - CHILE - 2001270967', 'SOCOFAR - CHILE - 0066009028',   77.'SODIMAC - CHILE - 2000402358', 'SOUTHERN CROSS - CHILE - 2002135799',   78.'SUPERM. MONSERRAT - CHILE - 0066009120', 'TELEMERCADOS EUROPA - CHILE - 0066009044')) ) ) )   79.group by T2083424.PRMTN_SKID, T2083424.PRMTN_ID, T2083424.PRMTN_NAME, T2083424.SHPMT_END_DATE,  
80.T2083424.SHPMT_START_DATE, T2083424.PRMTN_STTUS_CODE, T2083424.APPRV_STTUS_CODE, T2083424.CMMNT_DESC, 
81.T2083424.PGM_START_DATE, T2083424.PGM_END_DATE, T2083424.CREAT_DATE, T2083424.APPRV_BY_DESC,  
82.T2083424.AUTO_UPDT_GTIN_IND, T2083424.PRMTN_STOP_DATE, T2083424.ACTVY_DETL_POP, T2083424.CNBLN_WK_CNT,  
83.T2083424.PRMTN_AVG_POP, T2084525.NAME, T2084525.CHANL_TYPE_DESC, T2084525.ACCT_LONG_NAME,  
84.case  when case  when T2083424.CORP_PRMTN_TYPE_CODE = 'Target Account' then 'Corporate'  85.else T2083424.CORP_PRMTN_TYPE_CODE end  is null then 'Private' else case   86.when T2083424.CORP_PRMTN_TYPE_CODE = 'Target Account' then 'Corporate'  87.else T2083424.CORP_PRMTN_TYPE_CODE end  end ,   88.nvl(case  when T2083424.PRMTN_STTUS_CODE = 'Confirmed'  89.then cast(( TRUNC( TO_DATE('2011-06-07' , 'YYYY-MM-DD') ) - TRUNC( T2083424.PGM_END_DATE ) ) as  VARCHAR ( 10 ) ) end  , '')  90.order by c24, c3; 
91. 
92.這個SQL要用到的表信息如下 
93. 
94.OWNER                TABLE_NAME                       Size(Mb) PARTITIONED          DEGREE          NUM_ROWS 
95.-------------------- ------------------------------ ---------- -------------------- ---------- ------------- 
96.ADWG_OPTIMA_LA11     *OPT_BUS_UNIT_FDIM             .001037598 NO                            1         16 
97.ADWG_OPTIMA_LA11     *OPT_CAL_MASTR_DIM             38.1284523 NO                            1         37435 
98.ADWG_OPTIMA_LA11     OPT_CAL_MASTR_DIM              38.1284523 NO                            1         37435 
99.ADWG_OPTIMA_LA11     *OPT_PRMTN_FDIM                74.6365929 YES                           1         52140 
100.ADWG_OPTIMA_LA11     OPT_PRMTN_FDIM                 74.6365929 YES                           1         52140 
101.ADWG_OPTIMA_LA11     OPT_ACTVY_FCT                  19.3430614 YES                           1        157230 
102.ADWG_OPTIMA_LA11     *OPT_ACCT_FDIM                 36.6709185 YES                           2         95415 
103.ADWG_OPTIMA_LA11     OPT_ACCT_FDIM                  36.6709185 YES                           2         95415 
104.ADWG_OPTIMA_LA11     OPT_PRMTN_PROD_FLTR_LKP        1523.87207 YES                           2      30148975 
105. 
106.帶*表示它用到了索引 那么這里 只有表OPT_PRMTN_PROD_FLTR_LKP是大表,它有3千多萬數據,1.5G 現在來看看這個SQL的執行計劃: 
107. 
108.SQL> select * from table(dbms_xplan.display); 
109. 
110.PLAN_TABLE_OUTPUT 
111.--------------------------------------------------------------------------------------------------------------------------------------------------- 
112.Plan hash value: 3566115627 
113. 
114.------------------------------------------------------------------------------------------------------------------------------------------ 
115.| Id  | Operation                                      | Name                    | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop | 
116.------------------------------------------------------------------------------------------------------------------------------------------ 
117.|   0 | SELECT STATEMENT                               |                         |     1 |   352 |  1551  (17)| 00:00:07 |       |       | 
118.|   1 |  SORT GROUP BY                                 |                         |     1 |   352 |  1551  (17)| 00:00:07 |       |       | 
119.|   2 |   VIEW                                         | VM_NWVW_2               |     1 |   352 |  1550  (17)| 00:00:07 |       |       | 
120.|   3 |    HASH UNIQUE                                 |                         |     1 |   652 |  1550  (17)| 00:00:07 |       |       | 
121.|   4 |     NESTED LOOPS                               |                         |       |       |         |     |       |       | 
122.|   5 |      NESTED LOOPS                              |                         |     1 |   652 |  1549  (17)| 00:00:07 |       |       | 
123.|   6 |       NESTED LOOPS                             |                         |     1 |   639 |  1548  (17)| 00:00:07 |       |       | 
124.|   7 |        NESTED LOOPS                            |                         |     2 |  1180 |  1546  (17)| 00:00:07 |       |       | 
125.|   8 |         NESTED LOOPS                           |                         |     1 |   568 |   130   (5)| 00:00:01 |       |       | 
126.|   9 |          NESTED LOOPS                          |                         |     1 |   509 |   109   (6)| 00:00:01 |       |       | 
127.|  10 |           NESTED LOOPS                         |                         |     1 |   484 |   108   (6)| 00:00:01 |       |       | 
128.|* 11 |            HASH JOIN                           |                         |     5 |   830 |   103   (6)| 00:00:01 |       |       | 
129.|  12 |             PARTITION LIST SUBQUERY            |                         |    47 |  4089 |    82   (3)| 00:00:01 |KEY(SQ)|KEY(SQ)| 
130.|  13 |              INLIST ITERATOR                   |                         |       |       |         |     |       |       | 
131.|  14 |               TABLE ACCESS BY LOCAL INDEX ROWID| OPT_ACCT_FDIM           |    47 |  4089 |    82   (3)| 00:00:01 |KEY(SQ)|KEY(SQ)| 
132.|* 15 |                INDEX RANGE SCAN                | OPT_ACCT_FDIM_NX2       |    47 |       |    43   (5)| 00:00:01 |KEY(SQ)|KEY(SQ)| 
133.|  16 |             NESTED LOOPS                       |                         | 10482 |   808K|    20  (15)| 00:00:01 |       |       | 
134.|  17 |              NESTED LOOPS                      |                         |     1 |    40 |     2   (0)| 00:00:01 |       |       | 
135.|* 18 |               INDEX RANGE SCAN                 | OPT_BUS_UNIT_FDIM_UX2   |     1 |    26 |     1   (0)| 00:00:01 |       |       | 
136.|* 19 |               INDEX RANGE SCAN                 | OPT_BUS_UNIT_FDIM_UX2   |     1 |    14 |     1   (0)| 00:00:01 |       |       | 
137.|  20 |              PARTITION LIST ITERATOR           |                         | 10482 |  1699K|    18  (17)| 00:00:01 |   KEY |   KEY | 
138.|* 21 |               TABLE ACCESS FULL                | OPT_ACTVY_FCT           | 10482 |  1699K|    18  (17)| 00:00:01 |   KEY |   KEY | 
139.|* 22 |            TABLE ACCESS BY GLOBAL INDEX ROWID  | OPT_PRMTN_FDIM          |     1 |   318 |     1   (0)| 00:00:01 | ROWID | ROWID | 
140.|* 23 |             INDEX UNIQUE SCAN                  | OPT_PRMTN_FDIM_PK       |     1 |       |     0   (0)| 00:00:01 |       |       | 
141.|* 24 |           TABLE ACCESS BY INDEX ROWID          | OPT_CAL_MASTR_DIM       |     1 |    25 |     1   (0)| 00:00:01 |       |       | 
142.|* 25 |            INDEX UNIQUE SCAN                   | OPT_CAL_MASTR_DIM_PK    |     1 |       |     0   (0)| 00:00:01 |       |       | 
143.|  26 |          PARTITION LIST ALL                    |                         |     1 |    59 |    21   (0)| 00:00:01 |     1 |    17 | 
144.|* 27 |           TABLE ACCESS BY LOCAL INDEX ROWID    | OPT_PRMTN_FDIM          |     1 |    59 |    21   (0)| 00:00:01 |     1 |    17 | 
145.|* 28 |            INDEX RANGE SCAN                    | OPT_PRMTN_FDIM_NX3      |     4 |       |    17   (0)| 00:00:01 |     1 |    17 | 
146.|  29 |         PARTITION LIST ITERATOR                |                         |    39 |   858 |  1416  (18)| 00:00:07 |   KEY |   KEY | 
147.|* 30 |          TABLE ACCESS FULL                     | OPT_PRMTN_PROD_FLTR_LKP |    39 |   858 |  1416  (18)| 00:00:07 |   KEY |   KEY | 
148.|* 31 |        TABLE ACCESS BY GLOBAL INDEX ROWID      | OPT_ACCT_FDIM           |     1 |    49 |     1   (0)| 00:00:01 | ROWID | ROWID | 
149.|* 32 |         INDEX UNIQUE SCAN                      | OPT_ACCT_FDIM_PK        |     1 |       |     0   (0)| 00:00:01 |       |       | 
150.|* 33 |       INDEX UNIQUE SCAN                        | OPT_CAL_MASTR_DIM_PK    |     1 |       |     0   (0)| 00:00:01 |       |       | 
151.|* 34 |      TABLE ACCESS BY INDEX ROWID               | OPT_CAL_MASTR_DIM       |     1 |    13 |     1   (0)| 00:00:01 |       |       | 
152.------------------------------------------------------------------------------------------------------------------------------------------ 
153. 
154.Predicate Information (identified by operation id): 
155.--------------------------------------------------- 
156. 
157.  11 - access("T2083114"."BUS_UNIT_SKID"="T2084525"."BUS_UNIT_SKID" AND "T2083114"."ACCT_PRMTN_SKID"="T2084525"."ACCT_SKID")  158.  15 - access("T2084525"."ACCT_LONG_NAME"='ADELCO - CHILE - 0066009018' OR "T2084525"."ACCT_LONG_NAME"='ALIMENTOS FRUNA - CHILE -  159.              0066009049' OR "T2084525"."ACCT_LONG_NAME"='CENCOSUD - CHILE - 0066009007' OR "T2084525"."ACCT_LONG_NAME"='COMERCIAL ALVI - CHILE  160.              - 0066009070' OR "T2084525"."ACCT_LONG_NAME"='D&S - CHILE - 0066009008' OR "T2084525"."ACCT_LONG_NAME"='DIPAC - CHILE -  161.              0066009024' OR "T2084525"."ACCT_LONG_NAME"='DIST. COMERCIAL - CHILE - 0066009087' OR "T2084525"."ACCT_LONG_NAME"='DISTRIBUCION  162.              LAGOS S.A. - CHILE - 2001146505' OR "T2084525"."ACCT_LONG_NAME"='ECOMMERCE ESCALA 1 - 1900001746' OR  163.              "T2084525"."ACCT_LONG_NAME"='EMILIO SANDOVAL - CHILE - 2000402293' OR "T2084525"."ACCT_LONG_NAME"='F. AHUMADA - CHILE -  164.              0066009023' OR "T2084525"."ACCT_LONG_NAME"='FALABELLA - CHILE - 2000406971' OR "T2084525"."ACCT_LONG_NAME"='FRANCISCO LEYTON -  165.              CHILE - 0066009142' OR "T2084525"."ACCT_LONG_NAME"='MAICAO - CHILE - 0066009135' OR "T2084525"."ACCT_LONG_NAME"='MARGARITA UAUY -  166.              CHILE - 0066009146' OR "T2084525"."ACCT_LONG_NAME"='PREUNIC - CHILE - 0066009032' OR "T2084525"."ACCT_LONG_NAME"='PRISA  167.              DISTRIBUCION - CHILE - 2001419970' OR "T2084525"."ACCT_LONG_NAME"='RABIE - CHILE - 0066009015' OR "T2084525"."ACCT_LONG_NAME"='S  168.              Y B FARMACEUTICA S.A. - CHILE - 2000432938' OR "T2084525"."ACCT_LONG_NAME"='SOC. INV. LA MUNDIAL LTDA - CHILE - 2001270967' OR  169.              "T2084525"."ACCT_LONG_NAME"='SOCOFAR - CHILE - 0066009028' OR "T2084525"."ACCT_LONG_NAME"='SODIMAC - CHILE - 2000402358' OR  170.              "T2084525"."ACCT_LONG_NAME"='SOUTHERN CROSS - CHILE - 2002135799' OR "T2084525"."ACCT_LONG_NAME"='SUPERM. MONSERRAT - CHILE -  171.              0066009120' OR "T2084525"."ACCT_LONG_NAME"='TELEMERCADOS EUROPA - CHILE - 0066009044')  172.       filter("T2084525"."ACCT_LONG_NAME" IS NOT NULL)  173.  18 - access("T2083056"."BUS_UNIT_NAME"='Chile')  174.  19 - access("T2083056"."BUS_UNIT_NAME"='Chile')  175.  21 - filter("T2083056"."BUS_UNIT_SKID"="T2083114"."BUS_UNIT_SKID")  176.  22 - filter(CASE "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN 'Corporate' ELSE  177.              "T2083424"."CORP_PRMTN_TYPE_CODE" END ='Alternate BDF' OR CASE "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN  178.              'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE" END ='Corporate' OR CASE "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target  179.              Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE" END ='Private')  180.  23 - access("T2083114"."PRMTN_SKID"="T2083424"."PRMTN_SKID" AND "T2083114"."BUS_UNIT_SKID"="T2083424"."BUS_UNIT_SKID")  181.  24 - filter("T2083357"."FISC_YR_ABBR_NAME"='FY10/11')  182.  25 - access("T2083114"."DATE_SKID"="T2083357"."CAL_MASTR_SKID")  183.  27 - filter(CASE "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN 'Corporate' ELSE  184.              "T2083424"."CORP_PRMTN_TYPE_CODE" END ='Alternate BDF' OR CASE "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN  185.              'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE" END ='Corporate' OR CASE "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target  186.              Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE" END ='Private')  187.  28 - access("T2083424"."PRMTN_LONG_NAME"="T2083424"."PRMTN_LONG_NAME")  188.  30 - filter("T2083056"."BUS_UNIT_SKID"="T2083698"."BUS_UNIT_SKID" AND "T2083424"."PRMTN_SKID"="T2083698"."PRMTN_SKID" AND  189.              "T2083424"."BUS_UNIT_SKID"="T2083698"."BUS_UNIT_SKID")  190.  31 - filter("T2084525"."ACCT_LONG_NAME"='ADELCO - CHILE - 0066009018' OR "T2084525"."ACCT_LONG_NAME"='ALIMENTOS FRUNA - CHILE -  191.              0066009049' OR "T2084525"."ACCT_LONG_NAME"='CENCOSUD - CHILE - 0066009007' OR "T2084525"."ACCT_LONG_NAME"='COMERCIAL ALVI - CHILE  192.              - 0066009070' OR "T2084525"."ACCT_LONG_NAME"='D&S - CHILE - 0066009008' OR "T2084525"."ACCT_LONG_NAME"='DIPAC - CHILE -  193.              0066009024' OR "T2084525"."ACCT_LONG_NAME"='DIST. COMERCIAL - CHILE - 0066009087' OR "T2084525"."ACCT_LONG_NAME"='DISTRIBUCION  194.              LAGOS S.A. - CHILE - 2001146505' OR "T2084525"."ACCT_LONG_NAME"='ECOMMERCE ESCALA 1 - 1900001746' OR  195.              "T2084525"."ACCT_LONG_NAME"='EMILIO SANDOVAL - CHILE - 2000402293' OR "T2084525"."ACCT_LONG_NAME"='F. AHUMADA - CHILE -  196.              0066009023' OR "T2084525"."ACCT_LONG_NAME"='FALABELLA - CHILE - 2000406971' OR "T2084525"."ACCT_LONG_NAME"='FRANCISCO LEYTON -  197.              CHILE - 0066009142' OR "T2084525"."ACCT_LONG_NAME"='MAICAO - CHILE - 0066009135' OR "T2084525"."ACCT_LONG_NAME"='MARGARITA UAUY -  198.              CHILE - 0066009146' OR "T2084525"."ACCT_LONG_NAME"='PREUNIC - CHILE - 0066009032' OR "T2084525"."ACCT_LONG_NAME"='PRISA  199.              DISTRIBUCION - CHILE - 2001419970' OR "T2084525"."ACCT_LONG_NAME"='RABIE - CHILE - 0066009015' OR "T2084525"."ACCT_LONG_NAME"='S  200.              Y B FARMACEUTICA S.A. - CHILE - 2000432938' OR "T2084525"."ACCT_LONG_NAME"='SOC. INV. LA MUNDIAL LTDA - CHILE - 2001270967' OR  201.              "T2084525"."ACCT_LONG_NAME"='SOCOFAR - CHILE - 0066009028' OR "T2084525"."ACCT_LONG_NAME"='SODIMAC - CHILE - 2000402358' OR  202.              "T2084525"."ACCT_LONG_NAME"='SOUTHERN CROSS - CHILE - 2002135799' OR "T2084525"."ACCT_LONG_NAME"='SUPERM. MONSERRAT - CHILE -  203.              0066009120' OR "T2084525"."ACCT_LONG_NAME"='TELEMERCADOS EUROPA - CHILE - 0066009044')  204.  32 - access("T2083698"."ACCT_PRMTN_SKID"="T2084525"."ACCT_SKID" AND "T2083698"."BUS_UNIT_SKID"="T2084525"."BUS_UNIT_SKID")  205.  33 - access("T2083357"."CAL_MASTR_SKID"="T2083698"."DATE_SKID")  206.  34 - filter("T2083357"."FISC_YR_ABBR_NAME"='FY10/11')  207. 
208.95 rows selected. 
209. 
210.注意觀察 ID=30 它走的是全表掃描 并且優化器認為它只返回39行數據,www.linuxidc.com 那么問題可能出在這里了 于是創建如下索引 
211. 
212.SQL> create index OPT_PRMTN_PROD_FLTR_LKP_NX1 ON OPT_PRMTN_PROD_FLTR_LKP(BUS_UNIT_SKID,PRMTN_SKID) nologging parallel ; 
213. 
214.Index created. 
215. 
216.Elapsed: 00:00:33.04 
217. 
218.關于為什么我要這樣創建索引,這里就不說了,如果不明白的請看我前面博客,創建索引之后 SQL能在4分鐘以內跑完,下面是這個SQL的特殊執行計劃 
219. 
220.Plan hash value: 1310530159 
221. 
222.------------------------------------------------------------------------------------------------------------------------------ 
223.| Id  | Operation                                      | Name                        | Starts | E-Rows | A-Rows |   A-Time   | 
224.------------------------------------------------------------------------------------------------------------------------------ 
225.|   0 | SELECT STATEMENT                               |                             |      1 |        |   1324 |00:02:42.23 | 
226.|   1 |  SORT GROUP BY                                 |                             |      1 |      1 |   1324 |00:02:42.23 | 
227.|   2 |   VIEW                                         | VM_NWVW_2                   |      1 |      1 |   6808 |00:02:42.18 | 
228.|   3 |    HASH UNIQUE                                 |                             |      1 |      1 |   6808 |00:02:42.18 | 
229.|   4 |     NESTED LOOPS                               |                             |      1 |        |   5220K|00:02:21.06 | 
230.|   5 |      NESTED LOOPS                              |                             |      1 |      1 |   5220K|00:02:00.18 | 
231.|   6 |       NESTED LOOPS                             |                             |      1 |      1 |   5220K|00:01:49.74 | 
232.|   7 |        NESTED LOOPS                            |                             |      1 |      2 |   5220K|00:01:18.42 | 
233.|   8 |         NESTED LOOPS                           |                             |      1 |      1 |   6808 |00:00:01.62 | 
234.|   9 |          NESTED LOOPS                          |                             |      1 |      1 |   6808 |00:00:00.54 | 
235.|  10 |           NESTED LOOPS                         |                             |      1 |      1 |  11248 |00:00:00.40 | 
236.|* 11 |            HASH JOIN                           |                             |      1 |      5 |  11248 |00:00:00.07 | 
237.|  12 |             PARTITION LIST SUBQUERY            |                             |      1 |     47 |     25 |00:00:00.01 | 
238.|  13 |              INLIST ITERATOR                   |                             |      1 |        |     25 |00:00:00.01 | 
239.|  14 |               TABLE ACCESS BY LOCAL INDEX ROWID| OPT_ACCT_FDIM               |     25 |     47 |     25 |00:00:00.01 | 
240.|* 15 |                INDEX RANGE SCAN                | OPT_ACCT_FDIM_NX2           |     25 |     47 |     25 |00:00:00.01 | 
241.|  16 |             NESTED LOOPS                       |                             |      1 |  10482 |  12788 |00:00:00.03 | 
242.|  17 |              NESTED LOOPS                      |                             |      1 |      1 |      1 |00:00:00.01 | 
243.|* 18 |               INDEX RANGE SCAN                 | OPT_BUS_UNIT_FDIM_UX2       |      1 |      1 |      1 |00:00:00.01 | 
244.|* 19 |               INDEX RANGE SCAN                 | OPT_BUS_UNIT_FDIM_UX2       |      1 |      1 |      1 |00:00:00.01 | 
245.|  20 |              PARTITION LIST ITERATOR           |                             |      1 |  10482 |  12788 |00:00:00.03 | 
246.|* 21 |               TABLE ACCESS FULL                | OPT_ACTVY_FCT               |      1 |  10482 |  12788 |00:00:00.03 | 
247.|* 22 |            TABLE ACCESS BY GLOBAL INDEX ROWID  | OPT_PRMTN_FDIM              |  11248 |      1 |  11248 |00:00:00.31 | 
248.|* 23 |             INDEX UNIQUE SCAN                  | OPT_PRMTN_FDIM_PK           |  11248 |      1 |  11248 |00:00:00.12 | 
249.|* 24 |           TABLE ACCESS BY INDEX ROWID          | OPT_CAL_MASTR_DIM           |  11248 |      1 |   6808 |00:00:00.14 | 
250.|* 25 |            INDEX UNIQUE SCAN                   | OPT_CAL_MASTR_DIM_PK        |  11248 |      1 |  11248 |00:00:00.05 | 
251.|  26 |          PARTITION LIST ALL                    |                             |   6808 |      1 |   6808 |00:00:01.08 | 
252.|* 27 |           TABLE ACCESS BY LOCAL INDEX ROWID    | OPT_PRMTN_FDIM              |    115K|      1 |   6808 |00:00:01.05 | 
253.|* 28 |            INDEX RANGE SCAN                    | OPT_PRMTN_FDIM_NX3          |    115K|      4 |   6808 |00:00:00.78 | 
254.|  29 |         TABLE ACCESS BY GLOBAL INDEX ROWID     | OPT_PRMTN_PROD_FLTR_LKP     |   6808 |     39 |   5220K|00:01:19.79 | 
255.|* 30 |          INDEX RANGE SCAN                      | OPT_PRMTN_PROD_FLTR_LKP_NX1 |   6808 |      3 |   5220K|00:00:43.96 | 
256.|* 31 |        TABLE ACCESS BY GLOBAL INDEX ROWID      | OPT_ACCT_FDIM               |   5220K|      1 |   5220K|00:00:23.79 | 
257.|* 32 |         INDEX UNIQUE SCAN                      | OPT_ACCT_FDIM_PK            |   5220K|      1 |   5220K|00:00:08.38 | 
258.|* 33 |       INDEX UNIQUE SCAN                        | OPT_CAL_MASTR_DIM_PK        |   5220K|      1 |   5220K|00:00:07.58 | 
259.|* 34 |      TABLE ACCESS BY INDEX ROWID               | OPT_CAL_MASTR_DIM           |   5220K|      1 |   5220K|00:00:17.28 | 
260.------------------------------------------------------------------------------------------------------------------------------ 
261. 
262.Predicate Information (identified by operation id): 
263.--------------------------------------------------- 
264. 
265.  11 - access("T2083114"."BUS_UNIT_SKID"="T2084525"."BUS_UNIT_SKID" AND "T2083114"."ACCT_PRMTN_SKID"="T2084525"."ACCT_SKID")  266.  15 - access(("T2084525"."ACCT_LONG_NAME"='ADELCO - CHILE - 0066009018' OR "T2084525"."ACCT_LONG_NAME"='ALIMENTOS FRUNA - CHI  267.              "T2084525"."ACCT_LONG_NAME"='CENCOSUD - CHILE - 0066009007' OR "T2084525"."ACCT_LONG_NAME"='COMERCIAL ALVI - CHI  268.              0066009008' OR "T2084525"."ACCT_LONG_NAME"='DIPAC - CHILE - 0066009024' OR "T2084525"."ACCT_LONG_NAME"='DIST. CO  269.              "T2084525"."ACCT_LONG_NAME"='DISTRIBUCION LAGOS S.A. - CHILE - 2001146505' OR "T2084525"."ACCT_LONG_NAME"='ECOMM  270.              SANDOVAL - CHILE - 2000402293' OR "T2084525"."ACCT_LONG_NAME"='F. AHUMADA - CHILE - 0066009023' OR "T2084525"."A  271.              "T2084525"."ACCT_LONG_NAME"='FRANCISCO LEYTON - CHILE - 0066009142' OR "T2084525"."ACCT_LONG_NAME"='MAICAO - CHI  272.              CHILE - 0066009146' OR "T2084525"."ACCT_LONG_NAME"='PREUNIC - CHILE - 0066009032' OR "T2084525"."ACCT_LONG_NAME"  273.              "T2084525"."ACCT_LONG_NAME"='RABIE - CHILE - 0066009015' OR "T2084525"."ACCT_LONG_NAME"='S Y B FARMACEUTICA S.A.  274.              MUNDIAL LTDA - CHILE - 2001270967' OR "T2084525"."ACCT_LONG_NAME"='SOCOFAR - CHILE - 0066009028' OR "T2084525"."  275.              "T2084525"."ACCT_LONG_NAME"='SOUTHERN CROSS - CHILE - 2002135799' OR "T2084525"."ACCT_LONG_NAME"='SUPERM. MONSER  276.              EUROPA - CHILE - 0066009044')) 
277.       filter("T2084525"."ACCT_LONG_NAME" IS NOT NULL)  278.  18 - access("T2083056"."BUS_UNIT_NAME"='Chile')  279.  19 - access("T2083056"."BUS_UNIT_NAME"='Chile')  280.  21 - filter("T2083056"."BUS_UNIT_SKID"="T2083114"."BUS_UNIT_SKID")  281.  22 - filter((CASE "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_  282.              "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE"  283.              'Target Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE" END ='Private'))  284.  23 - access("T2083114"."PRMTN_SKID"="T2083424"."PRMTN_SKID" AND "T2083114"."BUS_UNIT_SKID"="T2083424"."BUS_UNIT_SKID")  285.  24 - filter("T2083357"."FISC_YR_ABBR_NAME"='FY10/11')  286.  25 - access("T2083114"."DATE_SKID"="T2083357"."CAL_MASTR_SKID")  287.  27 - filter((CASE "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_  288.              "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE"  289.              'Target Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE" END ='Private'))  290.  28 - access("T2083424"."PRMTN_LONG_NAME"="T2083424"."PRMTN_LONG_NAME")  291.  30 - access("T2083424"."BUS_UNIT_SKID"="T2083698"."BUS_UNIT_SKID" AND "T2083424"."PRMTN_SKID"="T2083698"."PRMTN_SKID")  292.       filter("T2083056"."BUS_UNIT_SKID"="T2083698"."BUS_UNIT_SKID")  293.  31 - filter(("T2084525"."ACCT_LONG_NAME"='ADELCO - CHILE - 0066009018' OR "T2084525"."ACCT_LONG_NAME"='ALIMENTOS FRUNA - CHI  294.              "T2084525"."ACCT_LONG_NAME"='CENCOSUD - CHILE - 0066009007' OR "T2084525"."ACCT_LONG_NAME"='COMERCIAL ALVI - CHI  295.              0066009008' OR "T2084525"."ACCT_LONG_NAME"='DIPAC - CHILE - 0066009024' OR "T2084525"."ACCT_LONG_NAME"='DIST. CO  296.              "T2084525"."ACCT_LONG_NAME"='DISTRIBUCION LAGOS S.A. - CHILE - 2001146505' OR "T2084525"."ACCT_LONG_NAME"='ECOMM  297.              SANDOVAL - CHILE - 2000402293' OR "T2084525"."ACCT_LONG_NAME"='F. AHUMADA - CHILE - 0066009023' OR "T2084525"."A  298.              "T2084525"."ACCT_LONG_NAME"='FRANCISCO LEYTON - CHILE - 0066009142' OR "T2084525"."ACCT_LONG_NAME"='MAICAO - CHI  299.              CHILE - 0066009146' OR "T2084525"."ACCT_LONG_NAME"='PREUNIC - CHILE - 0066009032' OR "T2084525"."ACCT_LONG_NAME"  300.              "T2084525"."ACCT_LONG_NAME"='RABIE - CHILE - 0066009015' OR "T2084525"."ACCT_LONG_NAME"='S Y B FARMACEUTICA S.A.  301.              MUNDIAL LTDA - CHILE - 2001270967' OR "T2084525"."ACCT_LONG_NAME"='SOCOFAR - CHILE - 0066009028' OR "T2084525"."  302.              "T2084525"."ACCT_LONG_NAME"='SOUTHERN CROSS - CHILE - 2002135799' OR "T2084525"."ACCT_LONG_NAME"='SUPERM. MONSER  303.              EUROPA - CHILE - 0066009044')) 
304.  32 - access("T2083698"."ACCT_PRMTN_SKID"="T2084525"."ACCT_SKID" AND "T2083698"."BUS_UNIT_SKID"="T2084525"."BUS_UNIT_SKID")  305.  33 - access("T2083357"."CAL_MASTR_SKID"="T2083698"."DATE_SKID")  306.  34 - filter("T2083357"."FISC_YR_ABBR_NAME"='FY10/11')  307. 
308. 
309.107 rows selected. 
310. 
311.雖然這個SQL能在4分以內跑完,但是大家注意觀察上面執行計劃,ID=11這一步,CBO認為它只返回5行數據,但是實際卻是它會返回11248行數據,正是由于 
312.這里CBO計算出錯,導致后面的索引掃描高達上千萬次,所以有必要糾正這一步。因為這個SQL是OBIEE的,我不能更改SQL,也不能(至少很難)加HINT 
313.所以我選擇用11g 新特征----EXTENDED STATISTICS.  
314. 
315.11步驟是做HASH JOIN,而且這一步CBO選擇了2列作為HASH KEY,所以分別對2個表的2個HASH KEY收集EXTENDED STATISTICS 
316. 
317.SQL> SELECT DBMS_STATS.CREATE_EXTENDED_STATS(USER, 'OPT_ACCT_FDIM', '(BUS_UNIT_SKID, ACCT_SKID)') FROM DUAL;  318. 
319.DBMS_STATS.CREATE_EXTENDED_STATS(USER,'OPT_ACCT_FDIM','(BUS_UNIT_SKID,ACCT_SKID)')  320.------------------------------------------------------------------------------------------------------------------ 
321.SYS_STUJ8OD#X2IPA_B9_CH00B046T 
322. 
323.SQL> SELECT DBMS_STATS.CREATE_EXTENDED_STATS(USER, 'OPT_ACTVY_FCT', '(BUS_UNIT_SKID, ACCT_PRMTN_SKID)') FROM DUAL;  324. 
325.DBMS_STATS.CREATE_EXTENDED_STATS(USER,'OPT_ACTVY_FCT','(BUS_UNIT_SKID,ACCT_PRMTN_SKID)')  326.------------------------------------------------------------------------------------------------------------------ 
327.SYS_STU#CVQNKK5CCM0W2XEQWSRXSM 
328. 
329.SQL> BEGIN 
330.  2  DBMS_STATS.GATHER_TABLE_STATS(ownname => 'ADWG_OPTIMA_LA11',  331.  3  tabname => 'OPT_ACCT_FDIM',  332.  4  estimate_percent => 20, 
333.  5  method_opt => 'for all columns size auto',  334.  6  degree => 6, 
335.  7  granularity => 'ALL',  336.  8  cascade=>TRUE 
337.  9  ); 
338. 10  END; 
339. 11  / 
340. 
341.PL/SQL procedure successfully completed. 
342. 
343.Elapsed: 00:00:57.76 
344. 
345.SQL> BEGIN 
346.  2  DBMS_STATS.GATHER_TABLE_STATS(ownname => 'ADWG_OPTIMA_LA11',  347.  3  tabname => 'OPT_ACTVY_FCT',  348.  4  estimate_percent => 20, 
349.  5  method_opt => 'for all columns size auto',  350.  6  degree => 6, 
351.  7  granularity => 'ALL',  352.  8  cascade=>TRUE 
353.  9  ); 
354. 10  END; 
355. 11  / 
356. 
357.PL/SQL procedure successfully completed. 
358. 
359.Elapsed: 00:01:15.10 
360. 
361.收集EXTENDED STATISTICS之后,SQL的的執行計劃更改如下: 
362. 
363.------------------------------------------------------------------------------------------------------------------------------------ 
364.| Id  | Operation                                 | Name                        | Starts | E-Rows | A-Rows |   A-Time   | Buffers | 
365.------------------------------------------------------------------------------------------------------------------------------------ 
366.|   0 | SELECT STATEMENT                          |                             |      1 |        |   1324 |00:00:01.85 |     210K| 
367.|   1 |  SORT GROUP BY                            |                             |      1 |      1 |   1324 |00:00:01.85 |     210K| 
368.|*  2 |   FILTER                                  |                             |      1 |        |   6808 |00:00:01.84 |     210K| 
369.|   3 |    NESTED LOOPS                           |                             |      1 |        |   6808 |00:00:00.04 |   52722 | 
370.|   4 |     NESTED LOOPS                          |                             |      1 |      4 |  11248 |00:00:00.03 |   41474 | 
371.|   5 |      NESTED LOOPS                         |                             |      1 |     12 |  11248 |00:00:00.02 |   30247 | 
372.|*  6 |       HASH JOIN                           |                             |      1 |    403 |  11248 |00:00:00.01 |     172 | 
373.|   7 |        PARTITION LIST SUBQUERY            |                             |      1 |     47 |  25 |00:00:00.01 |      50 | 
374.|   8 |         INLIST ITERATOR                   |                             |      1 |        |  25 |00:00:00.01 |      47 | 
375.|   9 |          TABLE ACCESS BY LOCAL INDEX ROWID| OPT_ACCT_FDIM               |     25 |     47 |  25 |00:00:00.01 |      47 | 
376.|* 10 |           INDEX RANGE SCAN                | OPT_ACCT_FDIM_NX2           |     25 |     47 |  25 |00:00:00.01 |      27 | 
377.|  11 |        NESTED LOOPS                       |                             |      1 |  10508 |  12788 |00:00:00.01 |     122 | 
378.|* 12 |         INDEX RANGE SCAN                  | OPT_BUS_UNIT_FDIM_UX2       |      1 |      1 |   1 |00:00:00.01 |  1 |      0 | 
379.|  13 |         PARTITION LIST ITERATOR           |                             |      1 |  10508 |  12788 |00:00:00.01 |     121 | 
380.|* 14 |          TABLE ACCESS FULL                | OPT_ACTVY_FCT               |      1 |  10508 |  12788 |00:00:00.01 |     121 | 
381.|* 15 |       TABLE ACCESS BY GLOBAL INDEX ROWID  | OPT_PRMTN_FDIM              |  11248 |      1 |  11248 |00:00:00.01 |   30075 | 
382.|* 16 |        INDEX UNIQUE SCAN                  | OPT_PRMTN_FDIM_PK           |  11248 |      1 |  11248 |00:00:00.01 |   11250 | 
383.|* 17 |      INDEX UNIQUE SCAN                    | OPT_CAL_MASTR_DIM_PK        |  11248 |      1 |  11248 |00:00:00.01 |   11227 | 
384.|* 18 |     TABLE ACCESS BY INDEX ROWID           | OPT_CAL_MASTR_DIM           |  11248 |      1 |   6808 |00:00:00.01 |   11248 | 
385.|  19 |    NESTED LOOPS                           |                             |   6206 |        |   6206 |00:00:01.79 |     158K| 
386.|  20 |     NESTED LOOPS                          |                             |   6206 |      1 |   6206 |00:00:01.79 |     151K| 
387.|  21 |      NESTED LOOPS                         |                             |   6206 |      1 |   6206 |00:00:01.79 |     145K| 
388.|  22 |       NESTED LOOPS                        |                             |   6206 |      5 |   6206 |00:00:01.79 |     128K| 
389.|  23 |        NESTED LOOPS                       |                             |   6206 |      1 |   6206 |00:00:00.09 |     103K| 
390.|* 24 |         INDEX RANGE SCAN                  | OPT_BUS_UNIT_FDIM_UX2       |   6206 |      1 |   6206 |00:00:00.01 |    6206 | 
391.|  25 |         PARTITION LIST ALL                |                             |   6206 |      1 |   6206 |00:00:00.09 |   97324 | 
392.|* 26 |          TABLE ACCESS BY LOCAL INDEX ROWID| OPT_PRMTN_FDIM              |  49648 |      1 |   6206 |00:00:00.09 |   97324 | 
393.|* 27 |           INDEX RANGE SCAN                | OPT_PRMTN_FDIM_NX3          |  49648 |      4 |   6206 |00:00:00.08 |   86887 | 
394.|  28 |        TABLE ACCESS BY GLOBAL INDEX ROWID | OPT_PRMTN_PROD_FLTR_LKP     |   6206 |     39 |   6206 |00:00:01.69 |   24825 | 
395.|* 29 |         INDEX RANGE SCAN                  | OPT_PRMTN_PROD_FLTR_LKP_NX1 |   6206 |      3 |   6206 |00:00:01.53 |   18618 | 
396.|* 30 |       TABLE ACCESS BY GLOBAL INDEX ROWID  | OPT_ACCT_FDIM               |   6206 |      1 |   6206 |00:00:00.01 |   17241 | 
397.|* 31 |        INDEX UNIQUE SCAN                  | OPT_ACCT_FDIM_PK            |   6206 |      1 |   6206 |00:00:00.01 |   11035 | 
398.|* 32 |      INDEX UNIQUE SCAN                    | OPT_CAL_MASTR_DIM_PK        |   6206 |      1 |   6206 |00:00:00.01 |    6211 | 
399.|* 33 |     TABLE ACCESS BY INDEX ROWID           | OPT_CAL_MASTR_DIM           |   6206 |      1 |   6206 |00:00:00.01 |    6206 | 
400.------------------------------------------------------------------------------------------------------------------------------------ 
401. 
402.Predicate Information (identified by operation id): 
403.--------------------------------------------------- 
404. 
405.   2 - filter( IS NOT NULL) 
406.   6 - access("T2083114"."BUS_UNIT_SKID"="T2084525"."BUS_UNIT_SKID" AND "T2083114"."ACCT_PRMTN_SKID"="T2084525"."ACCT_SKID")  407.  10 - access(("T2084525"."ACCT_LONG_NAME"='ADELCO - CHILE - 0066009018' OR "T2084525"."ACCT_LONG_NAME"='ALIMENTOS FRUNA - CHILE - 0  408.              "T2084525"."ACCT_LONG_NAME"='CENCOSUD - CHILE - 0066009007' OR "T2084525"."ACCT_LONG_NAME"='COMERCIAL ALVI - CHILE - 0  409.              "T2084525"."ACCT_LONG_NAME"='D&S - CHILE - 0066009008' OR "T2084525"."ACCT_LONG_NAME"='DIPAC - CHILE - 0066009024' OR  410.              COMERCIAL - CHILE - 0066009087' OR "T2084525"."ACCT_LONG_NAME"='DISTRIBUCION LAGOS S.A. - CHILE - 2001146505' OR "T208  411.              1 - 1900001746' OR "T2084525"."ACCT_LONG_NAME"='EMILIO SANDOVAL - CHILE - 2000402293' OR "T2084525"."ACCT_LONG_NAME"='  412.              "T2084525"."ACCT_LONG_NAME"='FALABELLA - CHILE - 2000406971' OR "T2084525"."ACCT_LONG_NAME"='FRANCISCO LEYTON - CHILE  413.              "T2084525"."ACCT_LONG_NAME"='MAICAO - CHILE - 0066009135' OR "T2084525"."ACCT_LONG_NAME"='MARGARITA UAUY - CHILE - 006  414.              "T2084525"."ACCT_LONG_NAME"='PREUNIC - CHILE - 0066009032' OR "T2084525"."ACCT_LONG_NAME"='PRISA DISTRIBUCION - CHILE  415.              "T2084525"."ACCT_LONG_NAME"='RABIE - CHILE - 0066009015' OR "T2084525"."ACCT_LONG_NAME"='S Y B FARMACEUTICA S.A. - CHI  416.              "T2084525"."ACCT_LONG_NAME"='SOC. INV. LA MUNDIAL LTDA - CHILE - 2001270967' OR "T2084525"."ACCT_LONG_NAME"='SOCOFAR -  417.              "T2084525"."ACCT_LONG_NAME"='SODIMAC - CHILE - 2000402358' OR "T2084525"."ACCT_LONG_NAME"='SOUTHERN CROSS - CHILE - 20  418.              "T2084525"."ACCT_LONG_NAME"='SUPERM. MONSERRAT - CHILE - 0066009120' OR "T2084525"."ACCT_LONG_NAME"='TELEMERCADOS EURO  419.       filter("T2084525"."ACCT_LONG_NAME" IS NOT NULL)  420.  12 - access("T2083056"."BUS_UNIT_NAME"='Chile')  421.  14 - filter("T2083056"."BUS_UNIT_SKID"="T2083114"."BUS_UNIT_SKID")  422.  15 - filter((CASE "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE"  423.              CASE "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE" E  424.              "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE" END ='  425.  16 - access("T2083114"."PRMTN_SKID"="T2083424"."PRMTN_SKID" AND "T2083114"."BUS_UNIT_SKID"="T2083424"."BUS_UNIT_SKID")  426.  17 - access("T2083114"."DATE_SKID"="T2083357"."CAL_MASTR_SKID")  427.  18 - filter("T2083357"."FISC_YR_ABBR_NAME"='FY10/11')  428.  24 - access("T2083056"."BUS_UNIT_NAME"='Chile')  429.  26 - filter((CASE "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE"  430.              CASE "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE" E  431.              "T2083424"."CORP_PRMTN_TYPE_CODE" WHEN 'Target Account' THEN 'Corporate' ELSE "T2083424"."CORP_PRMTN_TYPE_CODE" END ='  432.  27 - access("T2083424"."PRMTN_LONG_NAME"=:B1)  433.  29 - access("T2083424"."BUS_UNIT_SKID"="T2083698"."BUS_UNIT_SKID" AND "T2083424"."PRMTN_SKID"="T2083698"."PRMTN_SKID")  434.       filter("T2083056"."BUS_UNIT_SKID"="T2083698"."BUS_UNIT_SKID")  435.  30 - filter(("T2084525"."ACCT_LONG_NAME"='ADELCO - CHILE - 0066009018' OR "T2084525"."ACCT_LONG_NAME"='ALIMENTOS FRUNA - CHILE - 0  436.              "T2084525"."ACCT_LONG_NAME"='CENCOSUD - CHILE - 0066009007' OR "T2084525"."ACCT_LONG_NAME"='COMERCIAL ALVI - CHILE - 0  437.              "T2084525"."ACCT_LONG_NAME"='D&S - CHILE - 0066009008' OR "T2084525"."ACCT_LONG_NAME"='DIPAC - CHILE - 0066009024' OR  438.              COMERCIAL - CHILE - 0066009087' OR "T2084525"."ACCT_LONG_NAME"='DISTRIBUCION LAGOS S.A. - CHILE - 2001146505' OR "T208  439.              1 - 1900001746' OR "T2084525"."ACCT_LONG_NAME"='EMILIO SANDOVAL - CHILE - 2000402293' OR "T2084525"."ACCT_LONG_NAME"='  440.              "T2084525"."ACCT_LONG_NAME"='FALABELLA - CHILE - 2000406971' OR "T2084525"."ACCT_LONG_NAME"='FRANCISCO LEYTON - CHILE  441.              "T2084525"."ACCT_LONG_NAME"='MAICAO - CHILE - 0066009135' OR "T2084525"."ACCT_LONG_NAME"='MARGARITA UAUY - CHILE - 006  442.              "T2084525"."ACCT_LONG_NAME"='PREUNIC - CHILE - 0066009032' OR "T2084525"."ACCT_LONG_NAME"='PRISA DISTRIBUCION - CHILE  443.              "T2084525"."ACCT_LONG_NAME"='RABIE - CHILE - 0066009015' OR "T2084525"."ACCT_LONG_NAME"='S Y B FARMACEUTICA S.A. - CHI  444.              "T2084525"."ACCT_LONG_NAME"='SOC. INV. LA MUNDIAL LTDA - CHILE - 2001270967' OR "T2084525"."ACCT_LONG_NAME"='SOCOFAR -  445.              "T2084525"."ACCT_LONG_NAME"='SODIMAC - CHILE - 2000402358' OR "T2084525"."ACCT_LONG_NAME"='SOUTHERN CROSS - CHILE - 20  446.              "T2084525"."ACCT_LONG_NAME"='SUPERM. MONSERRAT - CHILE - 0066009120' OR "T2084525"."ACCT_LONG_NAME"='TELEMERCADOS EURO  447.  31 - access("T2083698"."ACCT_PRMTN_SKID"="T2084525"."ACCT_SKID" AND "T2083698"."BUS_UNIT_SKID"="T2084525"."BUS_UNIT_SKID")  448.  32 - access("T2083357"."CAL_MASTR_SKID"="T2083698"."DATE_SKID")  449.  33 - filter("T2083357"."FISC_YR_ABBR_NAME"='FY10/11')  450. 
451. 
452.109 rows selected. 
453. 
454.正如你可以從執行計劃中看到的那樣,這個SQL能立馬返回數據,返回1324行數據不到20秒就可以完成。 
455. 
456.希望本案例能對你有所幫助 
457. 
458.刪除 EXTENDED STATISTICS  
459. 
460.exec DBMS_STATS.DROP_EXTENDED_STATS (USER,'OPT_ACTVY_FCT','(BUS_UNIT_SKID, ACCT_PRMTN_SKID)');


本文出自:億恩科技【www.ibaoshan.net】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線

     
     
    JAPANESE极品少妇| 精品人妻VA出轨中文字幕| 日日澡夜夜澡人人高潮| 自慰无码一区二区三区| 女人带毛的真人图片| 播放片高清MV在线观看| 特黄大片又粗又大又暴| 国产午夜亚洲精品国产成人| 亚洲成AV人片天堂网久久| 狂躁美女大BBBBBB视频U| Chinese45丰满成熟HD| 少女たちよ在线观看动漫4| 国产无遮挡又黄又大又爽| 亚洲一区二区女搞男| 欧美VIDEO性欧美熟妇| 哒哒哒WWW在线影院| 色欲AV无码一区二区三区| 国产探花在线精品一区二区| 最新欧美精品一区二区三区| 无翼乌之无遮全彩浩君奶| 久久R热这里只有精品| 9999国产精品欧美久久久久久| 精品无码AV无码免费专区| 一边摸一边吃奶一边做爽| 男人把女人桶到爽免费应用 | 欧美乱人伦人妻中文字幕| 成年AV免费网址大全超清| 吸头AXYGEN日本| 久久精品国产欧美日韩| A亚洲VA欧美VA国产综合| 亚洲AV无码成人精品区在线欢看| 好紧我太爽了视频免费| 野花影视免费观看高清| 欧美性巨大╳╳╳╳╳高跟鞋 | 97电影九七电影理论片| 日本护士HD人XXXX| 国产麻花豆剧传媒精品MV在线 | 性丰满ⅩXXOOO性HD| 久久久亚洲综合久久久久87| MM1313亚洲精品无码| 无码一区二区三区AV免费蜜桃| 国产精品揄拍100视频| 亚洲天堂无码高清高潮| 欧美叉叉叉BBB网站| 豪妇荡乳1一5潘金莲2在线 | 久久国产中文娱乐网| 粉嫩av.com| 亚洲色欲综合一区二区三区小说| 欧美三级在线播放| 精品国产Ⅴ无码大片在线观看 | 欧美老妇疯狂XXXXBBBB| 精品国产黑色丝袜高跟鞋 | 爽到高潮无码视频在线观看| 韩国三级中文字幕HD久久精品| 337P日本大胆欧洲色噜噜| 少女たちよ在线观看完整版动漫| 精品久久久久久久久中文字幕| AAAAA级大公开超高准确率| 熟女俱乐部 五十路 六十路| 国产精品无码一区二区三区| 亚洲伊人色欲综合网| 人妻系列无码专区无码中出| 国产AV一区二区二三区妇| 亚洲日韩亚洲另类激情文学 | 久久精品免费观看国产| 18禁真人床震无遮挡免费| 搡老女人熟妇老太HD| 好男人HD免费观看| 被农民工玩酥的黄小婷| 亚洲AⅤ无码一区二区三区 | 色欲av伊人久久大香线蕉影院| 国产综合无码一区二区辣椒| 永久免费啪啪的网站入口| 欧美人伦禁忌DVD| 韩国精品一区二区无码视频| 性欧美一区二区三区| 熟妇高潮一区二区精| 男女交性视频无遮挡全过程| 孩教小UXXXⅩ精品| 成人观看免费毛片爽| 亚洲AV色先锋资源电影网站| 久久久久久精品免费久久18| 国产成人无码AⅤ片在线观看你| 亚洲一线产区二线产区区别在哪儿 | 蜜桃臀无码内射一区二区三区| 中文字日产幕码三区做法| 无码AV无码免费一区二区| 久久精品无码中文字幕老司机| А√天堂资源中文最新版地址| 三级特黄60分钟在线播放2| 里面也请好好疼爱第三季| 国产人成无码视频在线| 亚洲国产精品嫩草影院久久| 欧美VPSWINDOWS另类| 精品中文字幕久久久无码中文Av| 一区二区三区鲁丝不卡麻豆| 无码H肉3D动漫在线观看| 人妻精品AAAA中文字幕69| 国产精品偷窥熟女精品视频| JIZZJIZZ无码中国在线观| 亚洲中文字幕久久精品蜜桃| 双腿张开被9个男人调教| 人人妻人人澡人人爽人人到DVD| 和岳每晚弄的高潮嗷嗷叫视频| 夜夜嗨AV一区二区三区| 天天躁夜夜躁很很躁| 欧美精欧美乱码一二三四区| 国产精品久久久久久久网| YY111111少妇影院无码| 又大又粗的久久久精品少妇AV| 少妇性XXXXXXXXX色武功| 欧美大屁股XXXⅩOOOO| 久久精品国产99久久香蕉 | 永久免费无码Av成人性色AV| 性色AV极品无码专区亚洲AV| 日韩精品免费无码专区| 久久精品国产亚洲A∨麻豆| 国产在线清纯极品美女援交| 777琪琪午夜理论电影网| 亚洲大胸美女被操喷水| 天天做日日做天天添天天欢公交车| 老牛精品亚洲成AV人片| 含苞待放1ⅤLH周莹莹| 国产成人精品综合久久久久| ぱらだいす天堂中文网.WWW| 中文字幕日本乱码仑区在线| 亚洲国产最大AV| 人妻AV一区二区三区精品| 国语偷拍人妻露脸| 国产成人精品视频ⅤA秋霞影院 | 亚洲欧美成人综合久久久| 乱人伦人妻中文字幕在线入口 | 午夜精品久久久久成人| 日本熟少妇裸交ⅩXX视频| 精品一区二区三区AV天堂| 国产精品久久久久精品麻豆| 大胆GOGO高清在线观看| VPSWINDOWS另类极品| 中文字幕亚洲精品无码| 亚洲永久无码3D动漫一区| 亚洲AV无码专区在线| 无码αv人妻一区二区三区| 入禽太深免费视频| 欧美野外疯狂做受XXXX高潮| 极品尤物一区二区三区| 被驯服的人妻佐佐木明希| 7777奇米四色眼影| 中国JAPANESEXXXX少| 亚洲影院丰满少妇中文字幕无码| 挺进邻居人妻雪白的身体韩国电影| 精品 亚洲 无码 自拍 另类| 国产乱XXXXX97国语对白| 高中生被C到爽哭视频| 班主任掀开裙子让我桶的| 696969C大但人文艺术作品| 在床上拔萝卜又疼又叫什么病 | 女生会把隐私透露给异性朋友 | 亚洲中国最大AV网站| 小12箩利洗澡无码视频网站| 特级毛片A级毛片免费观看网站 | 欧美交换配乱吟粗大| 麻豆国产97在线 | 中文| 久久久久亚洲精品天堂| 精品一区二区三区无码免费直播| 国产A级毛片久久久精品毛片| 自拍偷自拍亚洲精品被多人伦好爽| 亚洲AV高清在线观看一区二区三| 翘臀后进少妇大白嫩屁股| www亚洲一级AV仑片| 在床上拔萝卜又疼又叫什么病| 无码人妻精品一区二区三| 日本三级黄色视频| 欧美喷潮久久久XXXXX| 男男车车CP视频| 久久综合激激的五月天| 国产强伦姧在线看无码| 国产精品18久久久久久VR| AV在线中文字幕不卡电影网| 中文字幕女人妻热女人妻| 用各种刑具调教吹潮的视频 | 少妇白浆高潮无码免费区| 欧美三级不卡在线播放| 免费看片A级毛片免费看| 果冻十麻豆十天美十老师 | 无码人妻精品丰满熟妇区| 双胞胎一前一后夹心饼干年下| 欧美人与牲禽ⅩXXX伦交| 免费看AV在线网站网址| 里面也请好好疼爱漫画最新章节 | 国产精品视频一区国模私拍| 国产成人精品一区二三区在线观看| CHINESE猛攻打桩大学生| 99国内精品久久久久久久| 97超级碰碰碰久久久久APP| 19岁MACBOOKPRO日本| 中文字幕人妻无码专区APP| 找老女人泻火对白自拍| 影音先锋中文字幕人妻| 亚洲一区精品无码色成人| 亚洲小说区图片区另类春色|