国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

exists和in的效率區(qū)別 oracle in和exists的區(qū)別?

oracle in和exists的區(qū)別?一般來說,這兩個是用來做兩張(或更多)表聯(lián)合查詢用的,in是把外表和內(nèi)表作hash連接,而exists是對外表作loop循環(huán),假設有A、B兩個表,使用時是這樣的

oracle in和exists的區(qū)別?

一般來說,這兩個是用來做兩張(或更多)表聯(lián)合查詢用的,in是把外表和內(nèi)表作hash連接,而exists是對外表作loop循環(huán),假設有A、B兩個表,使用時是這樣的: 1、select*fromAwhereidin(selectidfromB)--使用in 2、select*fromAwhereexists(selectB.idfromBwhereB.id=A.id)--使用exists 也可以完全不使用in和exists: 3、selectA.*fromA,BwhereA.id=B.id--不使用in和exists 具體使用時到底選擇哪一個,主要考慮查詢效率問題: 第一條語句使用了A表的索引; 第二條語句使用了B表的索引; 第三條語句同時使用了A表、B表的索引; 如果A、B表的數(shù)據(jù)量不大,那么這三個語句執(zhí)行效率幾乎無差別; 如果A表大,B表小,顯然第一條語句效率更高,反之,則第二條語句效率更高; 第三條語句盡管同時使用了A表、B表的索引,單掃描次數(shù)是笛卡爾乘積,效率最差。 以上純屬個人理解,僅供參考。

數(shù)據(jù)庫中IN和EXISTS有什么區(qū)別?

沒有什么區(qū)別,兩者都是包含的意思,但是esists的效率比in要高。建議別用in,影響效率,如果只有兩三個條件,就用or代替,如果值比較多,就用exists.例如select*fromtablewhere(name="1"orname="2")別寫成namein("1","2")如果數(shù)據(jù)量比較大select*fromtablewherenameexists(selectnamefromtable2)