以爲我會問有知識的StackOverflow社區今天在我的腦海裏的問題,我似乎無法找到答案。SQL「IN」語句與使用「OR」之間是否有任何性能差異?
「IN」或使用「OR」之間是否存在性能差異或優勢?
即,是
SELECT類型與類型WHERE typecat IN( 'ABC', '高清')
優於
SELECT類型與類型WHERE typecat = 'ABC' OR typecat = '高清'
添加:使用SQL Server 2008
以爲我會問有知識的StackOverflow社區今天在我的腦海裏的問題,我似乎無法找到答案。SQL「IN」語句與使用「OR」之間是否有任何性能差異?
「IN」或使用「OR」之間是否存在性能差異或優勢?
即,是
SELECT類型與類型WHERE typecat IN( 'ABC', '高清')
優於
SELECT類型與類型WHERE typecat = 'ABC' OR typecat = '高清'
添加:使用SQL Server 2008
如果我沒有記錯,SQL Server會將您擁有的IN
語句轉換爲OR
語句。
沒有,沒有性能差異。優化器負責處理它。
這完全取決於您正在使用的SQL產品,您還沒有說明。我經常使用的一個RDBMS不能使用OR版本的索引。
小心揭示所述RDBMS的名稱? – 2010-04-29 19:54:02
R:基地(從過去爆炸)。 – 2010-04-29 20:04:39
對不起,使用SQL Server 2008。 – 2010-04-29 20:07:21
什麼服務器? SQL Server,MySQL,Postgres,Oracle ...? – 2010-04-29 19:50:22
我曾經問過這個問題:http://stackoverflow.com/questions/2343242/sql-where-field-in-vs-where-field-with-multiple-ors – froadie 2010-04-29 19:54:20
對不起,使用SQL Server 2008. – 2010-04-29 20:07:53