校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > oracle中使用group by優化distinct

oracle中使用group by優化distinct

熱門標簽:慧營銷crm外呼系統丹丹 哪個400外呼系統好 圖吧網站地圖標注 哈爾濱電話機器人銷售招聘 地圖標注養老院 愛客外呼系統怎么樣 百度地圖標注途經點 山東crm外呼系統軟件 開發外呼系統

今天mentor給了一個sql語句優化的任務。(環境是sql developer)有一個語句執行很慢,查詢出來的結果有17544條記錄,但需970秒,速度很慢。語句是這樣的:

SELECT DISTINCT  'AMEND_NEW', 
       reporttitle, 
       reportsubtitle, 
       cab_cab_transactions.branchcode, 
       cab_cab_transactions.prtfo_cd, 
       cab_cab_transactions.sstm_scrty_id, 
       cab_cab_transactions.sstm_trx_id, 
       cab_cab_transactions.trde_dttm, 
       cab_cab_transactions.efcte_dttm, 
       cab_cab_transactions.due_stlmnt_dt, 
       cab_cab_transactions.cncl_efcte_dttm, 
       cab_cab_transactions.trde_sstm_id, 
       cab_cab_transactions.trx_type_cd, 
       cab_cab_transactions.trx_type_dscrn, 
       cab_cab_transactions.trx_subtype_cd, 
       cab_cab_transactions.trde_stat_flg, 
       cab_cab_transactions.csh_cr_dr_indcr, 
       cab_cab_transactions.long_shrt_indcr, 
       cab_cab_transactions.lcl_crncy, 
       cab_cab_transactions.stlmt_crncy, 
       cab_cab_transactions.nomin_qty, 
       cab_cab_transactions.price, 
       cab_cab_transactions.lcl_cst, 
       cab_cab_transactions.prtfo_cst, 
       cab_cab_transactions.lcl_book_cst, 
       cab_cab_transactions.prtfo_book_cst, 
       cab_cab_transactions.lcl_sell_prcds, 
       cab_cab_transactions.prtfo_sell_prcds, 
       cab_cab_transactions.lcl_gnls, 
       cab_cab_transactions.prtfo_gnls, 
       cab_cab_transactions.lcl_acrd_intrt, 
       cab_cab_transactions.prtfo_acrd_intrt, 
       cab_cab_transactions.stlmt_crncy_stlmt_amt, 
       cab_cab_transactions.lcl_net_amt, 
       cab_cab_transactions.prtfo_net_amt, 
       cab_cab_transactions.fx_bght_amt, 
       cab_cab_transactions.fx_sold_amt, 
       cab_cab_transactions.prtfo_crncy_stlmt_amt, 
       cab_cab_transactions.prtfo_net_incme, 
       cab_cab_transactions.dvnd_crncy_net_incme, 
       cab_cab_transactions.dvnd_type_cd, 
       cab_cab_transactions.lcl_intrt_pd_rec, 
       cab_cab_transactions.prtfo_intrt_pd_rec, 
       cab_cab_transactions.lcl_dvdnd_pd_rec, 
       cab_cab_transactions.prtfo_dvdnd_pd_rec, 
       cab_cab_transactions.lcl_sundry_inc_pd_rec, 
       cab_cab_transactions.prtfo_sundry_inc_pd_rec, 
       cab_cab_transactions.bnk_csh_cptl_secid, 
       cab_cab_transactions.bnk_csh_inc_secid, 
       cab_cab_transactions.reportdate, 
       cab_cab_transactions.filename, 
        sysdate, 
       'e483448' 
   FROM cab_cfg_trx_type_mapping RIGHT JOIN(cab_cab_tran_adjustments 
      INNER JOIN cab_cab_transactions ON(cab_cab_transactions.branchcode = cab_cab_tran_adjustments.branchcode ) 
       AND(cab_cab_tran_adjustments.sstm_trx_id = cab_cab_transactions.sstm_trx_id)) ON(cab_cfg_trx_type_mapping.cab_trx_type_cd = cab_cab_transactions.trx_type_cd) 
       AND(nvl(cab_cfg_trx_type_mapping.cab_trx_subtype_cd,' ') = nvl(cab_cab_transactions.trx_subtype_cd,' ') 
       AND (cab_cfg_trx_type_mapping.branchcode=cab_cab_transactions.branchcode)) 
      WHERE cab_cab_transactions.prtfo_cd IN 
       (SELECT DISTINCT prtfo_cd 
        FROM cab_cab_valuations_working 
        WHERE created_by = 'e483448' 
          AND branchcode='ISA') 
       AND cab_cab_tran_adjustments.efcte_dttm > '2011-07-31' 
       AND cab_cab_tran_adjustments.efcte_dttm = '2011-08-31' 
       AND eff_trde_stat_flg > 'X' 
       AND cab_cab_transactions.branchcode = 'ISA' 
       AND cab_cab_tran_adjustments.branchcode = 'ISA' 
       AND(cab_cfg_trx_type_mapping.cab_reportgroup = 'CABValuation' OR cab_cfg_trx_type_mapping.cab_reportgroup IS NULL) 

問題在distinct上面,它會導致對全表掃描,而且會導致排序,然后刪除重復的記錄,所以速度很慢,因此需要優化distinct。查了不少資料,并逐一嘗試,最后發現了一個非常可觀的優化結果,用group by。語句如下:

SELECT   'AMEND_NEW', 
       reporttitle, 
       reportsubtitle, 
       cab_cab_transactions.branchcode, 
       cab_cab_transactions.prtfo_cd, 
       cab_cab_transactions.sstm_scrty_id, 
       cab_cab_transactions.sstm_trx_id, 
       cab_cab_transactions.trde_dttm, 
       cab_cab_transactions.efcte_dttm, 
       cab_cab_transactions.due_stlmnt_dt, 
       cab_cab_transactions.cncl_efcte_dttm, 
       cab_cab_transactions.trde_sstm_id, 
       cab_cab_transactions.trx_type_cd, 
       cab_cab_transactions.trx_type_dscrn, 
       cab_cab_transactions.trx_subtype_cd, 
       cab_cab_transactions.trde_stat_flg, 
       cab_cab_transactions.csh_cr_dr_indcr, 
       cab_cab_transactions.long_shrt_indcr, 
       cab_cab_transactions.lcl_crncy, 
       cab_cab_transactions.stlmt_crncy, 
       cab_cab_transactions.nomin_qty, 
       cab_cab_transactions.price, 
       cab_cab_transactions.lcl_cst, 
       cab_cab_transactions.prtfo_cst, 
       cab_cab_transactions.lcl_book_cst, 
       cab_cab_transactions.prtfo_book_cst, 
       cab_cab_transactions.lcl_sell_prcds, 
       cab_cab_transactions.prtfo_sell_prcds, 
       cab_cab_transactions.lcl_gnls, 
       cab_cab_transactions.prtfo_gnls, 
       cab_cab_transactions.lcl_acrd_intrt, 
       cab_cab_transactions.prtfo_acrd_intrt, 
       cab_cab_transactions.stlmt_crncy_stlmt_amt, 
       cab_cab_transactions.lcl_net_amt, 
       cab_cab_transactions.prtfo_net_amt, 
       cab_cab_transactions.fx_bght_amt, 
       cab_cab_transactions.fx_sold_amt, 
       cab_cab_transactions.prtfo_crncy_stlmt_amt, 
       cab_cab_transactions.prtfo_net_incme, 
       cab_cab_transactions.dvnd_crncy_net_incme, 
       cab_cab_transactions.dvnd_type_cd, 
       cab_cab_transactions.lcl_intrt_pd_rec, 
       cab_cab_transactions.prtfo_intrt_pd_rec, 
       cab_cab_transactions.lcl_dvdnd_pd_rec, 
       cab_cab_transactions.prtfo_dvdnd_pd_rec, 
       cab_cab_transactions.lcl_sundry_inc_pd_rec, 
       cab_cab_transactions.prtfo_sundry_inc_pd_rec, 
       cab_cab_transactions.bnk_csh_cptl_secid, 
       cab_cab_transactions.bnk_csh_inc_secid, 
       cab_cab_transactions.reportdate, 
       cab_cab_transactions.filename, 
        sysdate, 
       'e483448' 
   FROM cab_cfg_trx_type_mapping RIGHT JOIN(cab_cab_tran_adjustments 
      INNER JOIN cab_cab_transactions ON(cab_cab_transactions.branchcode = cab_cab_tran_adjustments.branchcode ) 
       AND(cab_cab_tran_adjustments.sstm_trx_id = cab_cab_transactions.sstm_trx_id)) ON(cab_cfg_trx_type_mapping.cab_trx_type_cd = cab_cab_transactions.trx_type_cd) 
       AND(nvl(cab_cfg_trx_type_mapping.cab_trx_subtype_cd,' ') = nvl(cab_cab_transactions.trx_subtype_cd,' ') 
       AND (cab_cfg_trx_type_mapping.branchcode=cab_cab_transactions.branchcode)) 
      WHERE cab_cab_transactions.prtfo_cd IN 
       (SELECT DISTINCT prtfo_cd 
        FROM cab_cab_valuations_working 
        WHERE created_by = 'e483448' 
          AND branchcode='ISA') 
       AND cab_cab_tran_adjustments.efcte_dttm > '2011-07-31' 
       AND cab_cab_tran_adjustments.efcte_dttm = '2011-08-31' 
       AND eff_trde_stat_flg > 'X' 
       AND cab_cab_transactions.branchcode = 'ISA' 
       AND cab_cab_tran_adjustments.branchcode = 'ISA' 
       AND(cab_cfg_trx_type_mapping.cab_reportgroup = 'CABValuation' OR cab_cfg_trx_type_mapping.cab_reportgroup IS NULL) 
       GROUP BY  reporttitle, 
       reportsubtitle, 
       cab_cab_transactions.branchcode, 
       cab_cab_transactions.prtfo_cd, 
       cab_cab_transactions.sstm_scrty_id, 
       cab_cab_transactions.sstm_trx_id, 
       cab_cab_transactions.trde_dttm, 
       cab_cab_transactions.efcte_dttm, 
       cab_cab_transactions.due_stlmnt_dt, 
       cab_cab_transactions.cncl_efcte_dttm, 
       cab_cab_transactions.trde_sstm_id, 
       cab_cab_transactions.trx_type_cd, 
       cab_cab_transactions.trx_type_dscrn, 
       cab_cab_transactions.trx_subtype_cd, 
       cab_cab_transactions.trde_stat_flg, 
       cab_cab_transactions.csh_cr_dr_indcr, 
       cab_cab_transactions.long_shrt_indcr, 
       cab_cab_transactions.lcl_crncy, 
       cab_cab_transactions.stlmt_crncy, 
       cab_cab_transactions.nomin_qty, 
       cab_cab_transactions.price, 
       cab_cab_transactions.lcl_cst, 
       cab_cab_transactions.prtfo_cst, 
       cab_cab_transactions.lcl_book_cst, 
       cab_cab_transactions.prtfo_book_cst, 
       cab_cab_transactions.lcl_sell_prcds, 
       cab_cab_transactions.prtfo_sell_prcds, 
       cab_cab_transactions.lcl_gnls, 
       cab_cab_transactions.prtfo_gnls, 
       cab_cab_transactions.lcl_acrd_intrt, 
       cab_cab_transactions.prtfo_acrd_intrt, 
       cab_cab_transactions.stlmt_crncy_stlmt_amt, 
       cab_cab_transactions.lcl_net_amt, 
       cab_cab_transactions.prtfo_net_amt, 
       cab_cab_transactions.fx_bght_amt, 
       cab_cab_transactions.fx_sold_amt, 
       cab_cab_transactions.prtfo_crncy_stlmt_amt, 
       cab_cab_transactions.prtfo_net_incme, 
       cab_cab_transactions.dvnd_crncy_net_incme, 
       cab_cab_transactions.dvnd_type_cd, 
       cab_cab_transactions.lcl_intrt_pd_rec, 
       cab_cab_transactions.prtfo_intrt_pd_rec, 
       cab_cab_transactions.lcl_dvdnd_pd_rec, 
       cab_cab_transactions.prtfo_dvdnd_pd_rec, 
       cab_cab_transactions.lcl_sundry_inc_pd_rec, 
       cab_cab_transactions.prtfo_sundry_inc_pd_rec, 
       cab_cab_transactions.bnk_csh_cptl_secid, 
       cab_cab_transactions.bnk_csh_inc_secid, 
       cab_cab_transactions.reportdate, 
       cab_cab_transactions.filename 

最后執行時間只有15.1秒,快了60多倍,不得不說這優化效果還是很可觀的。不過查了很多資料,仍然沒有發現合理地解釋:為什么distinct 和group by的效率會有這么大差別。查的很多資料,講的基本都是兩者相差不大,實現也差不多。有待解決。

DISTINCT和GROUP BY這兩者本質上應該沒有可比性,distinct 取出唯一列,group by 是分組,但有時候在優化的時候,在沒有聚合函數的時候,他們查出來的結果也一樣。

您可能感興趣的文章:
  • 分析MySQL中優化distinct的技巧

標簽:周口 甘肅 承德 開封 武漢 和田 固原 青島

巨人網絡通訊聲明:本文標題《oracle中使用group by優化distinct》,本文關鍵詞  oracle,中,使用,group,優化,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oracle中使用group by優化distinct》相關的同類信息!
  • 本頁收集關于oracle中使用group by優化distinct的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    www.在线欧美| 欧美成人性战久久| 色屁屁一区二区| 久久久亚洲欧洲日产国码αv| 亚洲国产视频一区| 综合激情网...| 亚洲裸体在线观看| 亚洲成人av资源| xf在线a精品一区二区视频网站| 国产欧美日韩在线| 亚洲制服丝袜av| 日本成人在线网站| 香蕉加勒比综合久久| 一区二区三区视频在线看| 亚洲成人综合网站| 美女在线观看视频一区二区| 国产精品综合一区二区| 一本一本大道香蕉久在线精品| 日韩欧美中文一区二区| 亚洲男人天堂av| 激情丁香综合五月| 欧美最猛性xxxxx直播| 欧美精品一区二区高清在线观看| 国产精品二三区| 日韩1区2区日韩1区2区| 国产精品一品二品| 日韩一区二区中文字幕| 一区二区三区四区中文字幕| 国内精品国产三级国产a久久| 色视频欧美一区二区三区| 久久新电视剧免费观看| 亚洲午夜电影在线| 激情成人综合网| 91精品国产综合久久福利软件| 亚洲精品videosex极品| 国产激情一区二区三区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 成人欧美一区二区三区视频网页| 久久99久久精品| 欧美精品aⅴ在线视频| 一区二区三区欧美视频| 99国内精品久久| 中文字幕在线不卡一区| 成人精品国产福利| 国产精品久久免费看| 日韩经典一区二区| 国产另类ts人妖一区二区| 一区二区三区日本| 欧美三电影在线| 亚洲精品国产无套在线观| 精品影视av免费| 欧美精品丝袜中出| 亚洲一区精品在线| 91蜜桃婷婷狠狠久久综合9色| 国产日韩欧美激情| 99re66热这里只有精品3直播| 91精品国产免费| 视频一区二区三区中文字幕| 色呦呦网站一区| 国产精品免费观看视频| 99久久精品情趣| 亚洲免费观看高清在线观看| 欧美色视频一区| 国产精品一区二区久久精品爱涩| 国产精品久久久久aaaa樱花| 在线区一区二视频| 一区二区成人在线视频| 日韩欧美三级在线| www.欧美日韩国产在线| 一区二区三区91| 日韩精品专区在线影院重磅| 972aa.com艺术欧美| 丝袜亚洲另类丝袜在线| 亚洲色图一区二区| 久久久亚洲国产美女国产盗摄 | 精品剧情v国产在线观看在线| 国产一区二区成人久久免费影院 | 亚洲高清一区二区三区| 国产精品一区二区免费不卡 | 日韩精品中文字幕一区二区三区 | 精品播放一区二区| 色吧成人激情小说| 国内成人精品2018免费看| 午夜av一区二区三区| 一区二区在线观看视频| 国产99一区视频免费| 秋霞影院一区二区| 国产欧美一区二区精品仙草咪| 在线亚洲一区二区| 国产一区亚洲一区| 一区视频在线播放| 制服丝袜中文字幕一区| 成人av在线资源网| 国产精品正在播放| 蜜臀av亚洲一区中文字幕| 午夜久久久久久电影| 一区二区三区精品在线观看| 中文字幕免费不卡在线| 久久精品欧美一区二区三区麻豆| 91精品国产综合久久国产大片| 欧美三级电影精品| 欧美日韩一二区| 欧美自拍丝袜亚洲| 91亚洲精品久久久蜜桃| 亚洲精品乱码久久久久久久久| 欧美激情在线看| 国产日韩av一区二区| 国产日本亚洲高清| 国产精品家庭影院| 成人欧美一区二区三区白人 | 综合欧美一区二区三区| 国产精品欧美一级免费| 亚洲人吸女人奶水| 一区二区视频在线看| 亚洲国产精品欧美一二99| 丝袜美腿成人在线| 蜜桃久久久久久| 不卡欧美aaaaa| 欧美日韩日日摸| 午夜影视日本亚洲欧洲精品| 日韩午夜三级在线| 久久一二三国产| 国产精品久久久久久亚洲毛片| 亚洲欧美一区二区三区极速播放 | 91成人网在线| 6080日韩午夜伦伦午夜伦| 欧美大白屁股肥臀xxxxxx| 亚洲国产成人在线| 亚洲一本大道在线| 九九精品视频在线看| jizzjizzjizz欧美| 欧美色窝79yyyycom| ww久久中文字幕| 亚洲国产精品尤物yw在线观看| 免费成人av资源网| 91免费视频大全| 久久精品亚洲乱码伦伦中文| 7777精品伊人久久久大香线蕉| 欧美丰满一区二区免费视频| 欧美成人精品3d动漫h| 国产精品久久久久9999吃药| 久久国产精品区| 色综合久久88色综合天天免费| 久久综合狠狠综合| 亚洲www啪成人一区二区麻豆| 国精产品一区一区三区mba桃花| 在线亚洲一区二区| 自拍av一区二区三区| 国产suv精品一区二区883| 精品综合免费视频观看| 国产一区二区三区美女| 欧美三级电影精品| 一区二区免费在线| 97精品国产露脸对白| 国产嫩草影院久久久久| 国产精品色呦呦| 久久青草欧美一区二区三区| 日韩1区2区3区| 欧美日韩一区三区四区| 亚洲一区在线免费观看| 高清不卡在线观看| 国产免费观看久久| 成人爱爱电影网址| 国产精品进线69影院| 91亚洲男人天堂| 亚洲精选视频在线| 日韩精品专区在线影院重磅| 国产在线精品免费| 伊人夜夜躁av伊人久久| 91精品国产综合久久久久久漫画| 麻豆一区二区99久久久久| 久久精品人人做人人爽97| 一本久道中文字幕精品亚洲嫩| 亚洲超丰满肉感bbw| 国产三级欧美三级日产三级99| 色综合欧美在线| 国产精品一级黄| 欧美日韩国产影片| 国产乱码精品一区二区三区忘忧草| 国产精品久久久久永久免费观看 | 欧洲一区在线电影| 国产麻豆精品视频| 日本伊人午夜精品| 亚洲欧美日韩小说| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国内精品免费在线观看| 亚洲无线码一区二区三区| 国产精品乱码一区二区三区软件| 91成人在线免费观看| 国产精品一区二区视频| 午夜国产不卡在线观看视频| 中文字幕中文乱码欧美一区二区| 91麻豆精品国产91久久久久久久久 | 亚洲免费毛片网站| 日韩欧美综合一区| 5566中文字幕一区二区电影| 欧美视频中文字幕| 99麻豆久久久国产精品免费优播| 国产一区二区三区高清播放| 久久精品国产一区二区三|