Zi 字媒體
2017-07-25T20:27:27+00:00
SQL IN Exists 介紹(查詢 效率/速度/加快/加速)
資料來源:http://robertvmp.pixnet.net/blog/post/25013411-oracle—exists-取代-in-可加快查詢的速度
http://eeluck.pixnet.net/blog/post/27559378-in和exists的差異
文章01.
較慢
SELECT *
FROM TB_RBND903
WHERE BND_PROD_CD IN ( SELECT PROD_CD FROM TB_RBND601 )
較快
SELECT *
FROM TB_RBND903 A
WHERE EXISTS ( SELECT PROD_CD
FROM TB_RBND601
WHERE PROD_CD = A.BND_PROD_CD
)
文章02.
in和EXISTS 大多是效能上的考量
1.in的用法原理是在於,需要以逐行比較,效能性來說會比較慢
2.EXISTS是用一整個集合來做比較,用來過濾不要的資料,在效能上來說會比較快。
簡單的一句話,外大內小=IN,外小內大=EXISTS,這是一個實用的概略評估方法,在大部分的情況下是適用的。
寫了
5860316篇文章,獲得
23313次喜歡