<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ì)寫一些自己的感受
    數(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 可能無法使用這些索引。

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

    主站蜘蛛池模板: 亚洲综合偷自成人网第页色| 亚洲AV日韩AV永久无码下载| 亚洲无人区码一二三码区别图片| 最近最新高清免费中文字幕 | 亚洲视频无码高清在线| 99久久久精品免费观看国产| 亚洲成人午夜电影| 麻豆最新国产剧情AV原创免费 | 亚洲春黄在线观看| h视频在线免费看| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲免费福利视频| www.亚洲日本| 免费人妻av无码专区| free哆拍拍免费永久视频| 亚洲线精品一区二区三区影音先锋| AAAAA级少妇高潮大片免费看| 亚洲AV无码久久精品蜜桃| 久久WWW免费人成一看片| 亚洲精品无码高潮喷水A片软| 国产免费黄色大片| 视频免费在线观看| 亚洲性69影院在线观看| 成人永久免费福利视频网站| 成在线人直播免费视频| 亚洲韩国—中文字幕| 成年美女黄网站18禁免费| 黄页网址在线免费观看| 国产亚洲成AV人片在线观黄桃| 18级成人毛片免费观看| 亚洲AV无码AV男人的天堂不卡| 亚洲精品国产精品乱码不99| 波多野结衣在线免费观看| 国产成人亚洲精品无码AV大片| 亚洲国产精品无码专区影院| 国产免费AV片在线播放唯爱网| 一级毛片成人免费看a| 亚洲成a人片在线观看中文!!!| 亚洲国产精品嫩草影院久久 | 国产精品亚洲一区二区三区久久 | 青柠影视在线观看免费|