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

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

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

    計算機學習積累

    ----轉載有理,轉載是想研究,想研究才會看,看了才會有感想,轉載后我有時會寫一些自己的感受
    數據加載中……

    ORACLE中NOT IN 的替代

    典型的查詢方式為:
    SELECT TITLE
    FROM BOOKSHELF
    WHERE TITLE NOT IN
    ????? (SELECT TITLE FROM BOOKSHELF_CHECKOUT)
    ORDER BY TITLE;

    如果BOOKSHELF_CHECKOUT很大的話,速度可能會很慢,因為ORACLE會在BOOKSHELF_CHECKOUT上執行一個時間密集型的全表掃描。

    oracle 中not in 效率不高

    一:
    使用外部連接
    SELECT DISTINCT C.TITLE
    FROM BOOKSHELF_CHECKOUT B RIGHT OUTER JOIN BOOKSHELF C
    ??? ON B.TITLE = C.TITLE
    WHERE B.TITLE IS NULL
    ORDER BY C.TITLE ;
    優化后的程序可以使用連接列上的索引。
    WHERE B.TITLE IS NULL
    表示不出現在BOOKSHELF_CHECKOUT中的TITLE列 (ORACLE作為NULL列返回,可參考外部連接方面的內容)
    二:
    使用NOT EXISTS
    SELECT B.TITLE
    FROM BOOKSHELF B
    WHERE NOT EXISTS
    ???? (SELECT 'X' FROM BOOKSHELF_CHECKOUT C
    ????? WHERE C.TITLE = B.TITLE)
    ORDER BY B.TITLE
    對于BOOKSHELF中每一個記錄和BOOKSHELF_CHECKOUT匹配則是EXISTS.NOT EXISTS則是不存在的。
    NOT EXISTS往往可以使用可利用的索引,NOT IN 可能無法使用這些索引。

    posted on 2009-06-10 14:18 freebird 閱讀(1464) 評論(0)  編輯  收藏 所屬分類: 數據庫

    主站蜘蛛池模板: 日本高清不卡aⅴ免费网站| 亚洲综合偷自成人网第页色| 国产精品亚洲а∨天堂2021| 午夜福利不卡片在线播放免费| 亚洲综合一区二区精品导航 | 亚洲AV无码一区二区乱子伦| 亚洲国产成人久久综合野外| 国产产在线精品亚洲AAVV| 国产成人高清精品免费软件| 国产AV无码专区亚洲AV琪琪| 免费看国产曰批40分钟| 亚洲精品成人无码中文毛片不卡| 亚洲午夜久久久久久尤物| 免费中文字幕视频| 亚洲国产综合精品中文字幕| 亚洲毛片免费观看| 久久国内免费视频| 亚洲AV成人精品一区二区三区| 一个人免费观看日本www视频 | jizz免费观看视频| 亚洲国产综合无码一区| 无码人妻丰满熟妇区免费| 亚洲综合图片小说区热久久| 国产精品久久久久久久久久免费 | 国产亚洲精品美女久久久久 | 在线观看亚洲电影| 在线精品亚洲一区二区小说| 久久精品国产亚洲AV天海翼| 亚洲AV无码一区二区三区国产| 99久久免费国产精品热| 亚洲色图古典武侠| 国产伦精品一区二区三区免费下载| 又硬又粗又长又爽免费看| 国产在线观看免费视频播放器| 一级做a爰片久久免费| 亚洲高清在线观看| 国内免费高清在线观看| 一级毛片a免费播放王色| 久久久久亚洲AV无码永不| 日韩免费视频播播| 亚洲色大成网站WWW国产|