<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Vincent.Chan‘s Blog

    常用鏈接

    統計

    積分與排名

    網站

    最新評論

    ORACLE SQL性能優化系列 (五)

    ORACLE SQL性能優化系列 (五)

    作者: black_snail

     

    關鍵字 ORACLE PERFORMANCE SQL TUNING

    出處 http://WWW.DBASUPPORT.COM



    17. 使用表的別名(Alias)

    當在SQL語句中連接多個表時, 請使用表的別名并把別名前綴于每個Column上.這樣一來,就可以減少解析的時間并減少那些由Column歧義引起的語法錯誤.


    (譯者注: Column歧義指的是由于SQL中不同的表具有相同的Column名,當SQL語句中出現這個Column時,SQL解析器無法判斷這個Column的歸屬)


    18. 用EXISTS替代IN

    在許多基于基礎表的查詢中,為了滿足一個條件,往往需要對另一個表進行聯接.在這種情況下, 使用EXISTS(或NOT EXISTS)通常將提高查詢的效率.


    低效:

    SELECT *

    FROM EMP (基礎表)

    WHERE EMPNO > 0

    AND DEPTNO IN (SELECT DEPTNO

    FROM DEPT

    WHERE LOC = ‘MELB')


    高效:

    SELECT *

    FROM EMP (基礎表)

    WHERE EMPNO > 0

    AND EXISTS (SELECT ‘X'

    FROM DEPT

    WHERE DEPT.DEPTNO = EMP.DEPTNO

    AND LOC = ‘MELB')


    (譯者按: 相對來說,用NOT EXISTS替換NOT IN 將更顯著地提高效率,下一節中將指出)



    19. 用NOT EXISTS替代NOT IN

    在子查詢中,NOT IN子句將執行一個內部的排序和合并. 無論在哪種情況下,NOT IN都是最低效的 (因為它對子查詢中的表執行了一個全表遍歷). 為了避免使用NOT IN ,我們可以把它改寫成外連接(Outer Joins)或NOT EXISTS.


    例如:

    SELECT …

    FROM EMP

    WHERE DEPT_NO NOT IN (SELECT DEPT_NO

    FROM DEPT

    WHERE DEPT_CAT='A');


    為了提高效率.改寫為:


    (方法一: 高效)

    SELECT ….

    FROM EMP A,DEPT B

    WHERE A.DEPT_NO = B.DEPT(+)

    AND B.DEPT_NO IS NULL

    AND B.DEPT_CAT(+) = ‘A'



    (方法二: 最高效)

    SELECT ….

    FROM EMP E

    WHERE NOT EXISTS (SELECT ‘X'

    FROM DEPT D

    WHERE D.DEPT_NO = E.DEPT_NO

    AND DEPT_CAT = ‘A');

    posted on 2006-02-25 22:30 Vincent.Chen 閱讀(142) 評論(0)  編輯  收藏 所屬分類: Database

    主站蜘蛛池模板: 噜噜嘿在线视频免费观看| 99久久免费观看| 日韩免费毛片视频| 久久精品国产亚洲αv忘忧草| 精品一区二区三区免费毛片爱| 久热综合在线亚洲精品| 久久99精品国产免费观看| 亚洲久本草在线中文字幕| 免费一级毛片无毒不卡| 亚洲2022国产成人精品无码区 | 在线不卡免费视频| 国产精品亚洲精品观看不卡| 免费高清小黄站在线观看| 99亚洲乱人伦aⅴ精品| 国产一级高清免费观看| 九九久久精品国产免费看小说| 亚洲精品成人在线| 光棍天堂免费手机观看在线观看 | 我们的2018在线观看免费高清| 亚洲av无码一区二区三区天堂古代| 一区二区无码免费视频网站| 亚洲成AV人影片在线观看| 一级毛片直播亚洲| 日本视频在线观看永久免费| 亚洲午夜一区二区电影院| 日本免费网站在线观看| 国产福利免费视频| 精品亚洲国产成AV人片传媒| 国语成本人片免费av无码| 日本永久免费a∨在线视频| 亚洲VA中文字幕无码一二三区 | 亚洲一本一道一区二区三区| 国产一级一片免费播放i| 999zyz**站免费毛片| 亚洲成人免费网站| 亚洲第一区精品日韩在线播放| 久久青草国产免费观看| 亚洲熟女www一区二区三区| 亚洲综合激情另类专区| a拍拍男女免费看全片| 鲁啊鲁在线视频免费播放|