九色成人免费视频_久久一区视频_视频一区国产精品_精品视频在线观看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

Oracle 樹查詢 性能優(yōu)化紀(jì)實(shí)(start with, connect by)

發(fā)布時(shí)間:  2012/8/21 17:00:06

在項(xiàng)目中做權(quán)限控制時(shí),需要用組織階層來控制能夠訪問的數(shù)據(jù),
比如A組織的人可以看到其下屬組織的人員數(shù)據(jù),或者只有A組織是B組織上級的時(shí)候才有看B組織人員數(shù)據(jù)的權(quán)利。
根據(jù)需求需要構(gòu)筑DB的表結(jié)構(gòu),如下(ORG_RANK)

組織ID(PK) 上位組織ID
ORG_ID HIGH_ORG_ID

根據(jù)上面的結(jié)構(gòu),使用Oracle的樹查詢語句(start with和connect by)來創(chuàng)建SQL語句,如下:

-

 

查詢指定組織的直屬下層組織:

Sql代碼   
select  ORANK.ORG_ID  
  from  ORG_RANK ORANK  
where  ( level  - 1) = 1  
start with  ORANK.ORG_ID = #orgId#  
connect   by   prior  ORANK.ORG_ID = ORANK.HIGH_ORG_ID  
select ORANK.ORG_ID
  from ORG_RANK ORANK
where (level - 1) = 1
start with ORANK.ORG_ID = #orgId#
connect by prior ORANK.ORG_ID = ORANK.HIGH_ORG_ID對以上SQL做性能評定時(shí)發(fā)現(xiàn)出現(xiàn)嚴(yán)重性能問題,(10層組織,3000條數(shù)據(jù)時(shí))查詢時(shí)間1分多鐘,下面進(jìn)行了優(yōu)化。

1、分析執(zhí)行計(jì)劃,發(fā)現(xiàn)有Full Table,說明使用索引失敗,優(yōu)化的方法是對HIGH_ORG_ID加上索引。

2、雖然只是查詢直屬下層的組織,但是上面SQL實(shí)際執(zhí)行時(shí),先查詢出指定組織的所有下層組織,

然后再從結(jié)果里過濾出直屬下層的組織(where (level - 1) = 1)。

上面的分析可以得到證明,因?yàn)檩斎氲箶?shù)第二層組織的執(zhí)行時(shí)間會(huì)比輸入最上層組織的執(zhí)行時(shí)間少的多。

優(yōu)化方法是增加connect by語句的條件(and (level - 1) <= 1),不滿足條件的子樹不會(huì)被查詢,會(huì)省去很多沒用的遞歸查詢。

Sql代碼   
select  ORANK.ORG_ID  
  from  ORG_RANK ORANK  
where  ( level  - 1) = 1  
start with  ORANK.ORG_ID = #orgId#  
connect   by   prior  ORANK.ORG_ID = ORANK.HIGH_ORG_ID  
and  ( level  - 1) <= 1  
select ORANK.ORG_ID
  from ORG_RANK ORANK
where (level - 1) = 1
start with ORANK.ORG_ID = #orgId#
connect by prior ORANK.ORG_ID = ORANK.HIGH_ORG_ID
and (level - 1) <= 1判斷組織A是組織B的上層組織:

方法一:查詢出A的所有下層組織,看其中是否有B;

方法二:查詢出B的所有上層組織,看其中是否有A。

只要你頭腦里自己描繪出一個(gè)樹型的組織結(jié)構(gòu),那么你自然會(huì)想到方法二的執(zhí)行速度會(huì)明顯比方法一塊,

方法二是逆行查詢,查到的數(shù)據(jù)量小。


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

-

 

查詢指定組織的直屬下層組織:

Sql代碼   
select  ORANK.ORG_ID  
  from  ORG_RANK ORANK  
where  ( level  - 1) = 1  
start with  ORANK.ORG_ID = #orgId#  
connect   by   prior  ORANK.ORG_ID = ORANK.HIGH_ORG_ID  
select ORANK.ORG_ID
  from ORG_RANK ORANK
where (level - 1) = 1
start with ORANK.ORG_ID = #orgId#
connect by prior ORANK.ORG_ID = ORANK.HIGH_ORG_ID對以上SQL做性能評定時(shí)發(fā)現(xiàn)出現(xiàn)嚴(yán)重性能問題,(10層組織,3000條數(shù)據(jù)時(shí))查詢時(shí)間1分多鐘,下面進(jìn)行了優(yōu)化。

1、分析執(zhí)行計(jì)劃,發(fā)現(xiàn)有Full Table,說明使用索引失敗,優(yōu)化的方法是對HIGH_ORG_ID加上索引。

2、雖然只是查詢直屬下層的組織,但是上面SQL實(shí)際執(zhí)行時(shí),先查詢出指定組織的所有下層組織,

然后再從結(jié)果里過濾出直屬下層的組織(where (level - 1) = 1)。

上面的分析可以得到證明,因?yàn)檩斎氲箶?shù)第二層組織的執(zhí)行時(shí)間會(huì)比輸入最上層組織的執(zhí)行時(shí)間少的多。

優(yōu)化方法是增加connect by語句的條件(and (level - 1) <= 1),不滿足條件的子樹不會(huì)被查詢,會(huì)省去很多沒用的遞歸查詢。

Sql代碼   
select  ORANK.ORG_ID  
  from  ORG_RANK ORANK  
where  ( level  - 1) = 1  
start with  ORANK.ORG_ID = #orgId#  
connect   by   prior  ORANK.ORG_ID = ORANK.HIGH_ORG_ID  
and  ( level  - 1) <= 1  
select ORANK.ORG_ID
  from ORG_RANK ORANK
where (level - 1) = 1
start with ORANK.ORG_ID = #orgId#
connect by prior ORANK.ORG_ID = ORANK.HIGH_ORG_ID
and (level - 1) <= 1判斷組織A是組織B的上層組織:

方法一:查詢出A的所有下層組織,看其中是否有B;

方法二:查詢出B的所有上層組織,看其中是否有A。

只要你頭腦里自己描繪出一個(gè)樹型的組織結(jié)構(gòu),那么你自然會(huì)想到方法二的執(zhí)行速度會(huì)明顯比方法一塊,

方法二是逆行查詢,查到的數(shù)據(jù)量小。


本文出自:億恩科技【www.enidc.com】
-->

服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

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

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線

     
     
    九色成人免费视频_久久一区视频_视频一区国产精品_精品视频在线观看
    一本色道久久综合| 欧美亚洲自偷自偷| 亚洲网站视频福利| 亚洲精品久久久久中文字幕欢迎你| 国产一区二区三区四区五区美女| 国产精品日韩欧美大师| 国产精品成av人在线视午夜片| 欧美另类高清视频在线| 欧美激情欧美狂野欧美精品| 美日韩在线观看| 欧美成人午夜| 在线观看av不卡| 欧美啪啪成人vr| 久久躁日日躁aaaaxxxx| 亚洲专区一区二区三区| 夜夜嗨av一区二区三区中文字幕 | 亚洲国产mv| 尤妮丝一区二区裸体视频| 国内揄拍国内精品少妇国语| 国产一区观看| 亚洲第一在线视频| 亚洲福利视频一区| 91久久在线视频| 日韩亚洲欧美一区| 一区二区三区鲁丝不卡| 这里只有精品电影| 亚洲欧美国产毛片在线| 亚洲欧美在线视频观看| 欧美伊久线香蕉线新在线| 欧美一区二区视频97| 久久se精品一区精品二区| 亚洲第一精品影视| 亚洲精品资源| 一区二区三区日韩| 亚洲欧美区自拍先锋| 欧美一区二区视频97| 玖玖玖国产精品| 欧美日韩成人综合在线一区二区 | 一区二区三区国产盗摄| 亚洲自拍偷拍网址| 久久精品道一区二区三区| 亚洲精品国产精品国自产在线| 日韩天堂在线观看| 亚洲欧美一区二区精品久久久| 久久精品91久久久久久再现| 久久久亚洲成人| 欧美精品成人在线| 国产精品嫩草99a| 国语自产在线不卡| 亚洲精品视频在线播放| 亚洲欧美在线播放| 亚洲精品系列| 西西人体一区二区| 噜噜噜久久亚洲精品国产品小说| 欧美日韩1080p| 国产日韩专区| 亚洲精品综合精品自拍| 先锋亚洲精品| 夜夜嗨av一区二区三区网页| 久久国产黑丝| 欧美日韩亚洲激情| 精品999日本| 亚洲天堂男人| 亚洲国产精彩中文乱码av在线播放| 一本色道久久综合亚洲精品不| 欧美亚洲一区| 欧美绝品在线观看成人午夜影视| 国产精品一香蕉国产线看观看| 亚洲丁香婷深爱综合| 亚洲在线一区| av成人老司机| 久久久午夜电影| 国产精品乱人伦中文| 亚洲电影免费观看高清完整版在线| 亚洲在线第一页| 一本一本久久| 久久综合影音| 国产免费一区二区三区香蕉精| 91久久精品视频| 香蕉久久国产| 亚洲免费综合| 欧美精品免费看| 依依成人综合视频| 在线视频一区观看| 最新亚洲激情| 久久精品国产99国产精品澳门| 欧美日韩国产综合视频在线观看| 狠狠狠色丁香婷婷综合久久五月 | 免费一级欧美在线大片| 国产女人18毛片水18精品| 亚洲精品社区| 亚洲国产网站| 久久久久久久一区二区三区| 国产精品国产三级国产普通话三级| 亚洲第一精品夜夜躁人人爽| 欧美一区二区三区的| 亚洲一区影音先锋| 欧美日韩精品一区二区在线播放| 亚洲二区免费| 久久精品五月| 久久精品av麻豆的观看方式 | 亚洲一区图片| 亚洲一区二区免费| 欧美精品一区在线发布| 极品日韩av| 久久精品五月| 久久影院亚洲| 国内精品一区二区| 欧美一区视频在线| 欧美怡红院视频| 国产精品一区二区在线观看| 亚洲视频高清| 亚洲影音一区| 国产精品hd| 一区二区三区四区五区精品视频| 99这里只有精品| 欧美日韩国产123| 亚洲日本免费| 一本色道久久精品| 欧美日韩精品免费观看| 国产精品视频网站| 国产一区二区三区成人欧美日韩在线观看 | 99ri日韩精品视频| 亚洲最黄网站| 欧美日韩国产影片| 一区二区高清在线观看| 亚洲一区二区三区成人在线视频精品 | 亚洲精品一区久久久久久 | 欧美视频在线观看免费| 99视频在线观看一区三区| 亚洲视频一区二区免费在线观看| 欧美日韩在线高清| 一区二区三区视频观看| 午夜精品久久久久久久99樱桃| 国产精品资源| 欧美一区网站| 欧美成人官网二区| 日韩视频一区二区三区| 国产精品永久免费视频| 性18欧美另类| 国产精品国产馆在线真实露脸| 亚洲视频久久| 欧美在线看片a免费观看| 国产午夜精品视频免费不卡69堂| 欧美一级淫片播放口| 久久偷看各类wc女厕嘘嘘偷窃| 一区二区视频欧美| 一本色道精品久久一区二区三区 | 一区二区三区国产精品| 国产精品高潮呻吟视频| 欧美一区三区三区高中清蜜桃| 免费日韩视频| 一区二区三区国产盗摄| 久久精品国产一区二区电影| 在线播放日韩欧美| 中文网丁香综合网| 国产老女人精品毛片久久| 久久经典综合| 欧美交受高潮1| 亚洲男人第一av网站| 久久资源av| 日韩一区二区精品| 久久国产精品久久w女人spa| 亚洲高清激情| 性色av一区二区怡红| 在线观看欧美亚洲| 亚洲欧美另类在线观看| 狠狠色丁香久久综合频道| 中文一区在线| 国产综合精品| 在线视频欧美日韩| 很黄很黄激情成人| 亚洲影院免费观看| 亚洲第一中文字幕| 性欧美长视频| 亚洲欧洲在线免费| 久久av一区二区三区亚洲| 亚洲韩国日本中文字幕| 欧美伊人精品成人久久综合97| 亚洲人成亚洲人成在线观看| 欧美亚洲一区二区在线| 亚洲九九九在线观看| 久久精品国产亚洲一区二区三区 | 亚洲欧美日韩国产中文 | 亚洲精品国产精品久久清纯直播| 欧美一级在线视频| 亚洲黄色在线观看| 久久久福利视频| 一区二区不卡在线视频 午夜欧美不卡在| 久久精品夜色噜噜亚洲a∨| 亚洲精品一区在线| 久久这里只有| 亚洲综合国产| 欧美视频在线不卡| 亚洲精品五月天| 狠狠色丁香婷婷综合久久片| 亚洲欧美视频在线观看| 日韩午夜av在线| 欧美承认网站| 欧美中文字幕在线|