這是藍色小舖討論in與not in效能的問題:
在in與not in,最終會轉換成where條件,記得。
有兩個關係:
一、Select出來的資料多少。
二、 Where帶的條件。
在1000筆資料裡,你是要使用in(包含)還是not in(排除)才會快?
in (10筆) / not in (90筆)?
in (90筆) / in (10筆)?
在100萬筆資料裡,你是要使用in(包含)還是not in(排除)才會快?
in (10萬筆) / not in (90萬筆)?
in (90萬筆) / not in (10萬筆)?
其 實兩題一模一樣,只是把資料量變大時,就看得出差異。
原則很簡單,選小的那一個。
以第二題為例,
in (10萬筆) → 代表10萬條where條件
not in (90萬筆) → 代表90萬條where條件
不用我說應該就知道,「效能 差異」馬上分別出來,in與not in一體兩面,能下in就能下not in,找出小的那一個才是重點。
您好:
回覆刪除我對於
"in 跟not in一體兩面,能下in就能下not in"不太了解。
例如:
Select no From x
Where no not in (Select no From y)
要如何用"in"的下法呢?
_____________________________________________
正在學習SQL語法的小弟 留
http://kkbruce.blogspot.com/2010/05/in-not-in.html
回覆刪除希望這樣能給你滿意的回答。