在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Oracle中如何优化connect by语句

148次阅读
没有评论

共计 3670 个字符,预计需要花费 10 分钟才能阅读完成。

Oracle 中如何优化 connect by 语句,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

执行 SQL:

SELECT A.CI, A.ENBAJ02 AS CELL_NAME FROM TDL_CM_CELL A, T_ORG_CELL_SCOPE S WHERE S.REGION_NAME = A.REGION_NAME AND S.CITY_NAME = A.CITY_NAME AND (S.ORG_ID) IN (SELECT ID FROM T_ORG O START WITH ID = 101021003 --1010210 --START WITH ID=1 CONNECT BY PARENT_ID = PRIOR ID)

实际使用的执行计划:

而不会采用自适应计划 (adaptive plan):

 Plan Hash Value : 2596385940 ------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 2622 | 228114 | 227 | 00:00:01 | | 1 | NESTED LOOPS | | 2622 | 228114 | 227 | 00:00:01 | | 2 | NESTED LOOPS | | 2622 | 228114 | 227 | 00:00:01 | | * 3 | HASH JOIN | | 1 | 31 | 7 | 00:00:01 | | 4 | VIEW | VW_NSO_1 | 1 | 13 | 4 | 00:00:01 | | 5 | HASH UNIQUE | | 1 | 20 | 4 | 00:00:01 | | * 6 | CONNECT BY NO FILTERING WITH SW (UNIQUE) | | | | | | | 7 | TABLE ACCESS FULL | T_ORG | 75 | 825 | 3 | 00:00:01 | | 8 | TABLE ACCESS FULL | T_ORG_CELL_SCOPE | 85 | 1530 | 3 | 00:00:01 | | * 9 | INDEX RANGE SCAN | IDX_TDL_CM_CELL_SCOPE | 257 | | 8 | 00:00:01 | | 10 | TABLE ACCESS BY INDEX ROWID | TDL_CM_CELL | 2313 | 129528 | 220 | 00:00:01 | ------------------------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): ------------------------------------------ * 3 - access(S . ORG_ID = ID) * 6 - access(PARENT_ID =PRIOR  ID) * 6 - filter(ID =101021003) * 9 - access(S . REGION_NAME = A . REGION_NAME  AND  S . CITY_NAME = A . CITY_NAME) Notes ----- - This is an adaptive plan

原因在于,oracle 无法知道 connect by 之后的数量,所以只能认为是很大的量

有一种方式就是,就是使用提示来解决:

SELECT /*+ no_merge(x) use_nl(a x) */ A.CI, A.ENBAJ02 AS CELL_NAME FROM TDL_CM_CELL A, (select s.city_name, s.region_name from T_ORG_CELL_SCOPE S WHERE (S.ORG_ID) IN (SELECT ID FROM T_ORG O START WITH ID = 101021003 --1010210 --START WITH ID=1 CONNECT BY PARENT_ID = PRIOR ID) ) x where x.REGION_NAME = A.REGION_NAME AND x.CITY_NAME = A.CITY_NAME

这样计划就是:

Plan Hash Value : 37846894 --------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | --------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 2313 | 277560 | 227 | 00:00:01 | | 1 | NESTED LOOPS | | 2313 | 277560 | 227 | 00:00:01 | | 2 | NESTED LOOPS | | 2313 | 277560 | 227 | 00:00:01 | | 3 | VIEW | | 1 | 64 | 7 | 00:00:01 | | * 4 | HASH JOIN | | 1 | 31 | 7 | 00:00:01 | | 5 | VIEW | VW_NSO_1 | 1 | 13 | 4 | 00:00:01 | | 6 | HASH UNIQUE | | 1 | 20 | 4 | 00:00:01 | | * 7 | CONNECT BY NO FILTERING WITH SW (UNIQUE) | | | | | | | 8 | TABLE ACCESS FULL | T_ORG | 75 | 825 | 3 | 00:00:01 | | 9 | TABLE ACCESS FULL | T_ORG_CELL_SCOPE | 85 | 1530 | 3 | 00:00:01 | | * 10 | INDEX RANGE SCAN | IDX_TDL_CM_CELL_SCOPE | 257 | | 8 | 00:00:01 | | 11 | TABLE ACCESS BY INDEX ROWID | TDL_CM_CELL | 2313 | 129528 | 220 | 00:00:01 | --------------------------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): ------------------------------------------ * 4 - access(S . ORG_ID = ID) * 7 - access(PARENT_ID =PRIOR  ID) * 7 - filter(ID =101021003) * 10 - access(X . REGION_NAME = A . REGION_NAME  AND  X . CITY_NAME = A . CITY_NAME)

关于 Oracle 中如何优化 connect by 语句问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注丸趣 TV 行业资讯频道了解更多相关知识。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-04发表,共计3670字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 高清毛片一区二区三区 | 亚洲精品永久免费 | 国产乱子伦视频在线观看 | 91毛片网 | 性a视频| 不卡中文字幕 | 肉体暴力强伦轩在线播放 | 亚洲国产中文在线二区三区免 | 国产精品成人无码免费 | 国产成人咱精品视频免费网站 | 一本色道久久hezyo无码 | 中文一级国产特级毛片视频 | 欧美特黄aaaaaa | 国模吧一区二区 | 国产精品二区一区二区aⅴ污介绍 | 亚洲熟妇无码av不卡在线播放 | 男男gv白嫩小受gv在线播放 | 美女国产精品 | 2020久久精品亚洲热综合 | 天堂视频在线 | 亚洲高清乱码午夜电影网 | 四虎影院在线观看免费 | 老司机亚洲精品影院在线 | 欧美一区二区三区不卡视频 | 伊人狠狠操 | 色播在线永久免费视频网站 | 国产精品视_精品国产免费 国产精品视频1区 | 色综合亚洲综合网站综合色 | 伊人免费在线观看 | 久草福利在线 | 成人怡红院 | 四虎4545www国产精品 | 欧美综合一区 | 久久久久人妻一区二区三区 | 在线看欧美日韩中文字幕 | 精品视频一区二区三三区四区 | 国产成人精品三级91在线影院 | 欧美经典成人在观看线视频 | 日日撸夜夜干 | 免费a片看黄网站www | 中文字幕视频在线播放 |