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

始創于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.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小時客服服務熱線

     
     
    日本老熟妇VIDEO| AV老司机福利精品导航| 青草久久久国产线免费| 国语高潮无遮挡无码免费看| EEUSS影院在线观看| 亚洲AV成人午夜亚洲美女| 欧美高清熟妇啪啪内射不卡自拍| 国产天堂亚洲国产碰碰| AV在线中文字幕不卡电影网| 亚洲VA久久久噜噜噜久久无码| 人妻无码ΑV中文字幕琪琪布| 精品久久久久久狼人社区| 成人无码精品一区二区三区| 夜夜香夜夜摸夜夜添视频| 天堂中文АⅤ在线| 免费A级毛片18以上观看精品| 国产精品丝袜一区二区三区| 50岁丰满女人裸体毛茸茸| 亚洲AV五十路在线观看| 日本大学生处毛茸茸| 久久AⅤ人妻少妇嫩草影院| 丰满少妇高潮惨叫在线观看| 在公车上拨开内裤进入毛片| 无人区免费一二三四乱码| 欧美性巨大╳╳╳╳╳高跟鞋| 极品人妻被黑人中出种子| 刺骨PO不吃肉干嘛| 在线播放国产一区二区三区| 西西里大但人文艺术~任汾| 欧洲精品一线二线三线区别| 九九久久精品国产免费看小说| 隔壁老王国产在线精品| 中文国产成人精品久久APP| 性AV盈盈无码天堂| 人妻系列无码专区AV在线| 久久精品中文騷妇女内射| 国产成人亚洲精品无码综合原创| 97国产精华最好的产品亚洲| 免费看黄A级毛片| 女性高爱潮AAAA级视频免费| 无码精品人妻一区二区三区aV| 夜夜高潮次次欢爽AV女| 吃奶摸下激烈床震视频试看| 久久精品国产99国产精2020| 乳欲人妻办公室奶水| 亚洲中文字幕人妻| 国产AV无码区亚洲AV欧美| 久久久久久精品久久久| 试看AAAA啪啪片120秒| 真实的国产乱XXXX在线| 国产精品亚洲片在线| 女人与牛ZOZO| 亚洲成人无码一区| 成人国产一区二区三区精品不卡 | 久久99精品久久久久久9蜜桃| 日本十八禁视频无遮挡| 亚洲色精品AⅤ一区区三区| 丰满少妇高潮惨叫在线观看| 老熟女另类XXX精品视频| 天天看高清影视在线观看| 一区二区操逼视频| 国产精品99精品无码视亚| 男朋友一晚弄了我5次正常吗| 亚洲AV成人综合网| 国产成人免费ā片在线观看老同学| 在线观看大片免费播放器| 亚洲AV综合久久九九| 十八款夜间禁用APP| 亚洲AV鲁丝一区二区三区| А√天堂资源8在线官网地址| 久精品夜色国产亚洲AV| 熟妇的荡欲BD高清| 2022国产在线无码精品| 国语对白全程露脸粗语对话| 人妻无码一区二区三区免费视频 | 免费无遮挡禁18污污网站| 亚洲AV网站在线| 宝宝好大我都握不住了视频| 久久久久久中文字幕有精品| 无码人妻AⅤ一区二区| FREE嫩白18SEⅩ性HD处| 久草玖玖玖爱在线资源| 凸凹人妻人人澡人人添| BBOX撕裂BASS俄罗斯| 精品国产污污免费网站AⅤ| 四川骚妇无套内射舔了更爽| AV极品无码专区亚洲AV| 久久久久久国产精品MV| 午夜理论片免费播放| 成人影院永久免费观看网址 | 蜜臀AV在线播放| 亚洲国产精品成人久久| 国产精品AV无码毛片久久| 青青人亚洲AV永久无码精品无| 野花免费观看高清电视| 国产亚洲人成在线视频网站| 日文中字乱码一二三区别在哪| 18禁动漫无码无遮挡免费看| 娇妻卧室含辱迎接领导是哪部电影| 调教狠扇打肿私密跪撅屁股作文 | 把腿张开我要CAO死你在线观看| 巨爆乳中文字幕巨爆区巨爆乳无码 | 亚洲熟妇无码久久精品疯| 国产乱子伦视频在线播放| 日产精品卡二卡三卡四卡区| 91人妻超碰亚洲| 久久婷婷激情综合色综合俺也去| 亚洲AV成人无码久久精品老人 | 日本丶国产丶欧美色综合| 重生后我抛弃了负心公主| 精品亚洲国产成人| 羞羞影院午夜男女爽爽免费视频 | 高潮毛片无遮挡高清免费视频| 强伦姧人妻三上悠亚中文字幕| 中文无码一区二区视频在线播放量 | 男人靠女人免费视频网站| 亚洲一区二区三区丝袜| 狠狠色噜噜狠狠狠777米奇| 无码人妻av一区二区三区毛片| 放在里面边顶边吃饭H| 人妻少妇精品视频无码专区 | 国产精品久久久久久久9999| 日本最大但人文艺术欣赏的背景| 99久久综合狠狠综合久久止| 美女扒开腿让男人桶爽| 亚洲最大成人综合网720P| 黑人巨大JEEP日本人| 性生交大片免费看| 国产妇女馒头高清泬20P多毛| 日韩精品真人荷官无码| 锕锕锕锕锕锕好爽视频软件| 女人18片毛片60分钟630| 中文字幕AV无码免费一区| 久久天天躁狠狠躁夜夜2019| 亚洲无人区码一二三四区别 | 精品 日韩 国产 欧美 视频| 亚洲 欧美 叧类人妖| 国产蜜臀AV无码一区二区三区| 无码国产孕妇一区二区免费AV| 国产AV无码专区亚洲AV琪琪| 色噜噜人妻av无码| 成人无码精品一区二区三区| 轻点灬大JI巴大粗长了视频| JAPONENSISFES中国| 欧美506070老妇乱子伦| 主人调教下贱的烂货| 蜜臀AV无码精品人妻色欲| 在线天堂中文最新版| 乱人伦人妻中文字幕在线入口| 又爽又黄又无遮挡激情视频免费| 久久麻豆成人精品| 亚洲综合网站精品一区二区| 久久精品人人做人人爽97| 亚洲熟妇色XXXXXX爽| 久久久久久久女国产乱让韩| 亚洲中文字幕无码中文| 久久人人做人人妻人人玩精品HD | 日产精品一线二线三线京东| 成人免费AV一区二区三区| 日本黄色免费在线观看| 八戒八戒WWW资源网在线观看| 人妻丰满熟妇AV无码区不卡| 拔萝卜视频免费播放在线观看| 日韩AV无码社区一区二区三区| 刺激交换经历过程小说| 熟妇高潮一区二区在线播放| 国产成人免费ā片在线观看老同学 | 挺进邻居丰满少妇的身体| 国产精品国产三级国产专不| 小SAO货都湿掉奶头好硬男女| 国产特级毛片AAAAAA高清| 亚洲AV成人无码久久精品老人| 果冻传媒董小宛一区二区| 亚洲国产精品久久久久网站| 精品久久人人爽人人玩人人妻| 亚洲尤码不卡AV麻豆| 美国少归BVBV| chinese炮打老熟女| 日本插槽X8插槽怎么用| 多毛BGMBGMBGM胖在线| 无码国产孕妇一区二区免费AV| 国产亚洲精久久久久久无码7| 亚洲国产一区二区三区波多野结衣 | 人人妻人人妻人人片色AV| 成人无码区免费AⅤ片| 少妇人妻无码专区视频免费| 国产精品丝袜黑色高跟鞋| 亚洲AV永久无码成人红楼影视| 精品视频一区二区三区在线观看 | 日韩在线一区二区三区| 国产成人精品亚洲日本语言| 性无码专区一色吊丝中文字幕| 精品无码AV一区二区三区少妇| 中文在线天堂А√在线| 人妻精品久久无码专区涩涩| 粉嫩av一区二区三区四区| 午夜男女爽爽影院免费视频下载| 精品JAVAPARSER乱偷| 中国熟妇人妻XXXXXHD| 亲生乖女好紧H下|