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

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

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

    計(jì)算機(jī)學(xué)習(xí)積累

    ----轉(zhuǎn)載有理,轉(zhuǎn)載是想研究,想研究才會(huì)看,看了才會(huì)有感想,轉(zhuǎn)載后我有時(shí)會(huì)寫(xiě)一些自己的感受
    數(shù)據(jù)加載中……

    ORACLE中NOT IN 的替代

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

    如果BOOKSHELF_CHECKOUT很大的話,速度可能會(huì)很慢,因?yàn)镺RACLE會(huì)在BOOKSHELF_CHECKOUT上執(zhí)行一個(gè)時(shí)間密集型的全表掃描。

    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 ;
    優(yōu)化后的程序可以使用連接列上的索引。
    WHERE B.TITLE IS NULL
    表示不出現(xiàn)在BOOKSHELF_CHECKOUT中的TITLE列 (ORACLE作為NULL列返回,可參考外部連接方面的內(nèi)容)
    二:
    使用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
    對(duì)于BOOKSHELF中每一個(gè)記錄和BOOKSHELF_CHECKOUT匹配則是EXISTS.NOT EXISTS則是不存在的。
    NOT EXISTS往往可以使用可利用的索引,NOT IN 可能無(wú)法使用這些索引。

    posted on 2009-06-10 14:18 freebird 閱讀(1460) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 數(shù)據(jù)庫(kù)

    主站蜘蛛池模板: 亚洲色图综合网站| 免费大片在线观看网站| 国产亚洲精品精华液| 在线观看片免费人成视频播放| 国产成人亚洲综合无码| selaoban在线视频免费精品| 免费一级一片一毛片| jizz在线免费观看| 国产国拍精品亚洲AV片| 精品国产一区二区三区免费| 亚洲av丰满熟妇在线播放| 最近中文字幕高清免费中文字幕mv| 久久亚洲日韩看片无码| 91精品免费国产高清在线| 2019亚洲午夜无码天堂| 国产成人免费a在线视频app| 人妻无码中文字幕免费视频蜜桃| 国产性爱在线观看亚洲黄色一级片| 黄床大片免费30分钟国产精品| 亚洲成a人片在线观看无码专区| 亚洲精品免费观看| 麻豆狠色伊人亚洲综合网站| 国产精品色午夜免费视频| 久久久久久噜噜精品免费直播| 亚洲天堂男人天堂| 日韩免费一级毛片| 久久高潮一级毛片免费| 亚洲欧洲日韩综合| 亚洲AV中文无码乱人伦| 91制片厂制作传媒免费版樱花| 亚洲欧美日韩久久精品| 亚洲中文字幕在线乱码| 亚欧在线精品免费观看一区| 亚洲AV综合永久无码精品天堂| 亚洲一区二区三区偷拍女厕| 亚洲精品国产免费| 国产VA免费精品高清在线| 亚洲国产成人超福利久久精品| 亚洲国产精品激情在线观看| 久久99国产乱子伦精品免费| 免费精品国产自产拍在线观看|