<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 閱讀(143) 評論(0)  編輯  收藏 所屬分類: Database

    主站蜘蛛池模板: 亚洲av无码乱码国产精品fc2| 亚洲精品国产福利在线观看| 亚洲欧洲久久久精品| 亚洲精品乱码久久久久久按摩 | 亚洲第一黄片大全| 久久亚洲国产精品五月天| 亚洲AV一二三区成人影片| 国产精品hd免费观看| 在线视频免费观看高清| 久久精品国产亚洲网站| 午夜亚洲乱码伦小说区69堂| 67pao强力打造高清免费| 亚洲区日韩区无码区| 二区久久国产乱子伦免费精品| 免费看韩国黄a片在线观看| 亚洲精品字幕在线观看| a级毛片高清免费视频就| 亚洲成aⅴ人片久青草影院| www一区二区www免费| 亚洲精品乱码久久久久久自慰| 67194成手机免费观看| 亚洲一线产区二线产区区| 最近中文字幕免费2019| 亚洲成Av人片乱码色午夜| 6080午夜一级毛片免费看6080夜福利 | 久久亚洲国产精品成人AV秋霞| 国产成人无码免费网站| 亚洲成AV人在线播放无码| **毛片免费观看久久精品| 亚洲大成色www永久网址| 91久久成人免费| 亚洲第一页中文字幕| 女人18特级一级毛片免费视频| 亚洲日本乱码卡2卡3卡新区| 亚洲高清最新av网站| 毛片无码免费无码播放| 亚洲精品免费视频| 99精品一区二区免费视频| 亚洲国产日韩一区高清在线 | 手机看片久久国产免费| 久久免费高清视频|