2012-08-22 34 views
-1

可能重複:
Why would an IN condition be slower than 「=」 in sql?WHERE id IN(4)與WHERE id = 4有何不同?

是否有這樣做之間的性能差異:

SELECT foo FROM bar WHERE id IN (4) 

對戰

SELECT foo FROM bar WHERE id = 4 
+4

你試過'解釋select ...'嗎? –

+0

這個問題是關於在子查詢中使用IN語句,例如'SELECT FROM foo WHERE ID IN(SELECT ..)',而我的問題是diff。在'SELECT WHERE id IN(val)'和'SELECT WHERE id = val'之間。因此它不是重複的。 –

回答

0

我相信MySQL優化器會將ID IN(4)轉換爲ID = 4,所以沒有性能差異

+1

是否可以在手冊中的任何地方說出來? –

+2

你知不知道,或者你只是這麼想的?請不要用「我相信」回答問題,請提供證明 – bretterer