1
我們通過SQL Server 2008的支持,我們有一個應用程序,用戶可以選擇列表要搜索的項目,並根據這些項目獲取所有項目。我們使用了兩種技術:
SELECT * FROM mytable WHERE myval IN ('A', 'B', 'C')
和
INSERT INTO tempTable (tempvalue) ('A'), ('B'), ('C')
SELECT * FROM mytable m INNER JOIN tempTable t WHERE m.myval = t.tempvalue
第一個選項是比較容易,肯定的,但一旦用戶選擇了50個值表現是可怕的。我們正在談論如何取消IN,因爲性能會迅速下降。
那麼,爲什麼IN執行那麼糟糕?這是典型的還是與我們的設置有關的?
http://stackoverflow.com/questions/1200295/sql-join-vs-in-performance –