精品日韩在线,日韩精品福利一区二区三区,日韩午夜黄色,国产日韩欧美高清免费

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

SQL調優之關注filter信息

發布時間:  2012/8/24 17:32:03

開發人員發來郵件,叫我優化下面SQL

Hi Robinson,
-
 

Kindly need your help to check the below SQL for performance issue with Hyper plan detail report. Thanks in advance.

 

select avg(T2094771.MEASR_AMT) as c1,

     sum(T2094771.MEASR_YA_AMT) as c2,

     sum(T2094771.MEASR_CURR_AMT) as c3,

     sum(T2094771.MEASR_AMT) as c4,

     T2095164.ACCT_LONG_NAME as c5,

     T2095164.NAME as c6,

     T2095002.PROD_DESC as c7,

     T2093992.MTH_NAME as c8,

     T2093992.MTH_NUM as c9,

     T2094784.MEASR_NAME as c10,

     T2094784.MEASR_ORDR_SKID as c11,

     upper(T2095164.FUND_FRCST_MODEL_DESC) as c12

from

     ADWU_OPTIMA_WE11.OPT_MEASR_DIM T2094784,

     ADWU_OPTIMA_WE11.OPT_ACCT_FDIM T2095164 /* OPT_ACCT_PRMTN_FDIM */ ,

     ADWU_OPTIMA_WE11.OPT_PROD_BRAND_ASDN_DIM T2095002,

     ADWU_OPTIMA_WE11.OPT_BUS_UNIT_FDIM T2093691,

     ADWU_OPTIMA_WE11.OPT_CAL_MASTR_DIM T2093992 /* OPT_CAL_MASTR_DIM01 */ ,

     ADWU_OPTIMA_WE11.OPT_HYPER_PLAN_FCT T2094771

where  ( T2094771.MEASR_SKID = T2094784.MEASR_SKID

and T2094771.PROD_SKID = T2095002.BRAND_SKID

and T2094771.BUS_UNIT_SKID = T2095002.BUS_UNIT_SKID

and T2093691.BUS_UNIT_SKID = T2094771.BUS_UNIT_SKID

and T2093992.CAL_MASTR_SKID = T2094771.DATE_SKID

and T2094771.ACCT_SKID = T2095164.ACCT_SKID

and T2094771.BUS_UNIT_SKID = T2095164.BUS_UNIT_SKID

and T2093691.BUS_UNIT_NAME = 'Austria Retail'

and T2093992.FISC_YR_ABBR_NAME = 'FY10/11'

and T2094771.FY_DATE_SKID = T2095002.FY_DATE_SKID

and T2095002.PROD_LVL_DESC = 'Category'

and T2095164.ACCT_LONG_NAME = 'SPAR AT - 2000122510'

and T2094771.MEASR_SKID <> 1 and T2094771.MEASR_SKID <> 2

and T2094784.MEASR_SKID <> 1 and T2094784.MEASR_SKID <> 2

and (T2095002.PROD_DESC in ('Baby Wipes - 1000045671', 'Childrens Personal Care - 1101158952', 'Diapers - 1000043704', 'Dummy Category for Unknown Category - 0'))

and T2094784.MEASR_NAME <> 'D-NOS Index YA' )

group by T2093992.MTH_NAME, T2093992.MTH_NUM, T2094784.MEASR_ORDR_SKID, T2094784.MEASR_NAME, T2095002.PROD_DESC,

T2095164.NAME, T2095164.ACCT_LONG_NAME, upper(T2095164.FUND_FRCST_MODEL_DESC)

order by c8, c7, c5, c11, c10

 

 

------Run SQL on UAT-----UAT要跑2分44秒

 

508 rows selected.

 

Elapsed: 00:02:24.22 

 

On UAT, SQL can be finished in about 2minutes and 25 seconds.

 

-----Run SQL on Prod-----Prod要跑6分44秒

 

482 rows selected.

 

Elapsed: 00:06:44.27

 

 

上面的SQL是OBIEE報表使用的,我們無法更改代碼,客戶使用的肯定是PROD環境,這個SQL要跑6分44秒肯定是不能接受的,一般客戶最多能等3分鐘,也就是說要讓SQL再3分鐘以內出結果。SQL調優做多了,這種SQL真的沒什么挑戰性,也就看看執行計劃,1分鐘就能搞定的事情

 

我們來看一下執行計劃:

SQL> select * from table(dbms_xplan.display);

 

PLAN_TABLE_OUTPUT

-----------------------------------------------------------------------------------------------------------------------------------------

Plan hash value: 1422339931

 

------------------------------------------------------------------------------------------------------------------------------------

| Id  | Operation                                | Name                    | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |

------------------------------------------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT                         |                         |     1 |   250 |   847  (58)| 00:00:04 |       |       |

|   1 |  SORT GROUP BY                           |                         |     1 |   250 |   847  (58)| 00:00:04 |       |       |

|   2 |   NESTED LOOPS                           |                         |       |       |         |     |       |       |

|   3 |    NESTED LOOPS                          |                         |     1 |   250 |   846  (58)| 00:00:04 |       |       |

|   4 |     NESTED LOOPS                         |                         |     1 |   220 |   845  (58)| 00:00:04 |       |       |

|   5 |      NESTED LOOPS                        |                         |     1 |   161 |   841  (58)| 00:00:04 |       |       |

|*  6 |       HASH JOIN                          |                         |    14 |  1778 |   827  (59)| 00:00:04 |       |       |

|   7 |        PARTITION LIST ALL                |                         |     4 |   280 |    19   (0)| 00:00:01 |     1 |    14 |

|   8 |         TABLE ACCESS BY LOCAL INDEX ROWID| OPT_ACCT_FDIM           |     4 |   280 |    19   (0)| 00:00:01 |     1 |    14 |

|*  9 |          INDEX RANGE SCAN                | OPT_ACCT_FDIM_NX2       |     4 |       |    15   (0)| 00:00:01 |     1 |    14 |

|  10 |        NESTED LOOPS                      |                         |  2417K|   131M|   698  (54)| 00:00:03 |       |       |

|* 11 |         INDEX RANGE SCAN                 | OPT_BUS_UNIT_FDIM_UX2   |     1 |    19 |     1   (0)| 00:00:01 |       |       |

|  12 |         PARTITION LIST ITERATOR          |                         |  2417K|    87M|   697  (54)| 00:00:03 |   KEY |   KEY |

|* 13 |          TABLE ACCESS FULL               | OPT_HYPER_PLAN_FCT      |  2417K|    87M|   697  (54)| 00:00:03 |   KEY |   KEY |

|* 14 |       TABLE ACCESS BY INDEX ROWID        | OPT_MEASR_DIM           |     1 |    34 |     1   (0)| 00:00:01 |       |       |

|* 15 |        INDEX UNIQUE SCAN                 | OPT_MEASR_DIM_PK        |     1 |       |     0   (0)| 00:00:01 |       |       |

|  16 |      PARTITION LIST ITERATOR             |                         |     1 |    59 |     3  (34)| 00:00:01 |   KEY |   KEY |

|* 17 |       TABLE ACCESS FULL                  | OPT_PROD_BRAND_ASDN_DIM |     1 |    59 |     3  (34)| 00:00:01 |   KEY |   KEY |

|* 18 |     INDEX UNIQUE SCAN                    | OPT_CAL_MASTR_DIM_PK    |     1 |       |     0   (0)| 00:00:01 |       |       |

|* 19 |    TABLE ACCESS BY INDEX ROWID           | OPT_CAL_MASTR_DIM       |     1 |    30 |     1   (0)| 00:00:01 |       |       |

------------------------------------------------------------------------------------------------------------------------------------

 

Predicate Information (identified by operation id):

---------------------------------------------------

 

   6 - access("T2094771"."BUS_UNIT_SKID"="T2095164"."BUS_UNIT_SKID" AND "T2094771"."ACCT_SKID"="T2095164"."ACCT_SKID")

   9 - access("T2095164"."ACCT_LONG_NAME"='SPAR AT - 2000122510')

  11 - access("T2093691"."BUS_UNIT_NAME"='Austria Retail')

  13 - filter("T2094771"."MEASR_SKID"<>2 AND "T2094771"."MEASR_SKID"<>1 AND

              "T2093691"."BUS_UNIT_SKID"="T2094771"."BUS_UNIT_SKID")

  14 - filter("T2094784"."MEASR_NAME"<>'D-NOS Index YA')

  15 - access("T2094771"."MEASR_SKID"="T2094784"."MEASR_SKID")

       filter("T2094784"."MEASR_SKID"<>1 AND "T2094784"."MEASR_SKID"<>2)

  17 - filter("T2095002"."PROD_LVL_DESC"='Category' AND ("T2095002"."PROD_DESC"='Baby Wipes - 1000045671' OR

              "T2095002"."PROD_DESC"='Childrens Personal Care - 1101158952' OR "T2095002"."PROD_DESC"='Diapers - 1000043704' OR

              "T2095002"."PROD_DESC"='Dummy Category for Unknown Category - 0') AND "T2094771"."PROD_SKID"="T2095002"."BRAND_SKID" AND

              "T2094771"."BUS_UNIT_SKID"="T2095002"."BUS_UNIT_SKID" AND "T2094771"."FY_DATE_SKID"="T2095002"."FY_DATE_SKID")

  18 - access("T2093992"."CAL_MASTR_SKID"="T2094771"."DATE_SKID")

  19 - filter("T2093992"."FISC_YR_ABBR_NAME"='FY10/11')

 

44 rows selected.

看出來了嗎,問題在于

17 - filter("T2095002"."PROD_LVL_DESC"='Category' AND ("T2095002"."PROD_DESC"='Baby Wipes - 1000045671' OR
            "T2095002"."PROD_DESC"='Childrens Personal Care - 1101158952' OR "T2095002"."PROD_DESC"='Diapers - 1000043704' OR
            "T2095002"."PROD_DESC"='Dummy Category for Unknown Category - 0') AND "T2094771"."PROD_SKID"="T2095002"."BRAND_SKID" AND
            "T2094771"."BUS_UNIT_SKID"="T2095002"."BUS_UNIT_SKID" AND "T2094771"."FY_DATE_SKID"="T2095002"."FY_DATE_SKID")

 

有人可能會說問題在于這里:

13 - filter("T2094771"."MEASR_SKID"<>2 AND "T2094771"."MEASR_SKID"<>1 AND
            "T2093691"."BUS_UNIT_SKID"="T2094771"."BUS_UNIT_SKID")

 

OK,測試一把

 

SQL> select BUS_UNIT_SKID,count(*) from OPT_HYPER_PLAN_FCT group by BUS_UNIT_SKID;

BUS_UNIT_SKID   COUNT(*)
------------- ----------
        14346     629624
        14347    9283369
        14348    4405691
        14349    3811875
        14361     105556
        14362    2128613
        14363    1284530
        14364    6633483
        14365       4344
        14366      93072
        14369        324

 

11 rows selected.

所以不合適。

所以創建如下索引:

SQL> create index OPT_PROD_BRAND_ASDN_DIM_NX1 ON OPT_PROD_BRAND_ASDN_DIM(PROD_DESC,BRAND_SKID,FY_DATE_SKID,PROD_LVL_DESC,BUS_UNIT_SKID);

 

Index created.

 

Elapsed: 00:00:01.79

 

------RUN SQL ON PROD------

 

482 rows selected.

 

Elapsed: 00:00:24.50 -------- SQL能在24秒跑完。

 

看到這里明白怎么做SQL優化了沒?我只要是看見一個人用工具看執行計劃,我就知道他是個SQL調優菜鳥。


本文出自:億恩科技【www.zuiquanben.com】

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

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

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

     
     
    精品日韩在线,日韩精品福利一区二区三区,日韩午夜黄色,国产日韩欧美高清免费
    国产精品美女在线观看直播| 国产精品男女| yellow在线观看网址| 欧美片网站免费| 国产三级精品三级在线观看国产| 日本不卡的三区四区五区| 亚洲久久视频| 日韩av网站在线观看| 国产视频一区二| 国产成人在线中文字幕| 日韩电影免费网址| 亚洲午夜一级| 中文不卡在线| 国产精品亚洲片在线播放| 精品国产美女a久久9999| 日韩中文影院| 日av在线不卡| 国产精品探花在线观看| 国产成人免费| 婷婷综合社区| 国产欧美日韩影院| 日韩欧美一区二区三区在线视频| 亚洲男女自偷自拍| 国产麻豆精品| 久久久天天操| 视频国产精品| 水蜜桃久久夜色精品一区| 激情丁香综合| 久久精品72免费观看| av中文资源在线资源免费观看| 亚洲黑丝一区二区| 欧美视频久久| 99久久精品网| 日韩精彩视频在线观看| а√天堂中文在线资源8| 午夜久久福利| 国产精品亚洲片在线播放| 久久久人人人| 国产日韩欧美三级| 免费欧美一区| 国产精品va| 99成人在线| 精品日本视频| 亚洲精品一级| 欧美日韩精品免费观看视欧美高清免费大片| 美女黄网久久| 高清日韩欧美| 亚洲2区在线| 日韩精品dvd| 日韩精品三级| 激情久久中文字幕| 国产精品久久久久久妇女| 亚洲精品888| 精品一区视频| 天堂久久一区| 亚洲精品a级片| 国产成人免费视频网站视频社区| 亚洲一区二区三区四区电影| 91精品xxx在线观看| 人人爱人人干婷婷丁香亚洲| 免费精品国产的网站免费观看| 国产精品igao视频网网址不卡日韩| 午夜国产精品视频免费体验区| 国产精品白丝久久av网站| 天堂va蜜桃一区二区三区| av在线资源| 欧美韩一区二区| 日韩一区网站| 国产精品美女| 欧美日一区二区| 国产 日韩 欧美 综合 一区| 91av一区| 亚洲欧美专区| 久热精品在线| 国产精品美女久久久| 999久久久91| 桃色av一区二区| 国产精品二区不卡| 欧美天堂一区| 日本一区免费网站| 中文视频一区| 免费在线观看不卡| 黄色亚洲精品| 欧美不卡高清| 在线国产一区二区| 色天使综合视频| а√天堂8资源在线| 日韩av免费大片| 国产一区福利| 久久精品欧洲| 麻豆91小视频| 免费在线日韩av| 免费在线欧美黄色| 国产午夜一区| 日韩不卡免费视频| 91免费精品国偷自产在线在线| 一区二区国产精品| 天堂av一区| 欧美精品影院| 美女在线视频一区| 国产一区国产二区国产三区| 精品国产99| 国产不卡人人| 日韩中文在线播放| 在线日韩电影| 久久中文字幕av一区二区不卡| 欧美在线观看视频一区| 免费观看不卡av| 免费久久99精品国产自在现线| 欧美69视频| 亚洲综合不卡| 日韩一区二区三免费高清在线观看| 午夜视频一区二区在线观看| 97久久中文字幕| 久久午夜影院| 日韩一区二区中文| 好吊一区二区三区| 一区二区三区国产盗摄| 日韩激情综合| 精品国产乱码久久久| 国产色播av在线| 欧美亚洲精品在线| 伊人精品久久| 麻豆一区二区三| 97精品一区| 免播放器亚洲| 国产精品一区二区美女视频免费看| 国产成人精品福利| 蜜臀91精品国产高清在线观看 | 亚洲日本久久| 国产精品久久| 激情欧美丁香| 日本欧美在线| 快播电影网址老女人久久| 亚洲免费中文| 精品91福利视频| 99pao成人国产永久免费视频| 亚洲精品伊人| 精品视频一区二区三区四区五区 | 久久亚洲黄色| 免费观看久久av| 国产日韩免费| 美女久久久久| 国产乱码精品一区二区三区四区 | 奇米亚洲欧美| 色婷婷亚洲mv天堂mv在影片| 蜜桃久久久久久| 国产一区精品福利| 蜜臀av一区二区三区| 国产一区二区亚洲| 亚洲ab电影| 久久久9色精品国产一区二区三区| 日本不卡视频在线观看| 成人啊v在线| 亚洲色图综合| 亚洲日本网址| 日韩中文字幕视频网| 精品亚洲美女网站| 国产欧美日韩一级| 欧美日韩激情在线一区二区三区| 97精品资源在线观看| 亚洲第一区色| 黄色欧美在线| 日韩精品视频网| 亚洲欧美日韩专区| 国产日韩电影| 国产福利一区二区精品秒拍| 亚洲欧美日韩一区在线观看| 国产中文在线播放| 日韩va亚洲va欧美va久久| 国产综合色产| 日韩一区二区三区免费播放| 国产精品白丝久久av网站| 亚洲理论在线| 中文日韩欧美| 久久久成人网| 麻豆成全视频免费观看在线看| 国产情侣久久| 日本电影久久久| 无码日韩精品一区二区免费| 亚洲一区二区成人| 亚洲婷婷免费| 91精品国产调教在线观看| 精品国产精品久久一区免费式| 婷婷精品久久久久久久久久不卡| 欧美jjzz| 欧美+亚洲+精品+三区| 91av亚洲| av中文资源在线资源免费观看| 国产精成人品2018| 国产精品亚洲二区| 日韩极品在线观看| 亚洲永久精品唐人导航网址| 亚洲精品1区| 在线国产一区| 性色av一区二区怡红| 久久亚洲二区| 日韩精品一二三四| 综合一区二区三区| 亚洲欧美日韩专区|