2010-08-02 83 views
0

在where語句或join語句中使用條件哪一個更好? 任何人都可以請幫忙嗎?LIKE子句與IN子句 - 哪個更好?

+3

標題和問題似乎不同。 你可以看一下嗎? – 2010-08-02 05:26:36

+0

如果關閉標題,這是重複的:http://stackoverflow.com/questions/3014940/is-there-a-combination-of-like-and-in-in-sql – 2010-08-02 05:30:11

回答

0

如果要求對由一組已知的固定值然後,其中x在(A,B,C,...)過濾行將比更好地工作,其中x像'g',因爲它可能無法創建合適的類似子句。

如果要求由前綴進行過濾,然後哪裏像「前綴%」會比更好其中,x在(A,B,C,...),因爲它可能是不可能的創建一個正確的in()子句。

1

任何阻止SQL服務器優化器使用索引的情況都很糟糕。

如果你的情況是inlike運算符只說查詢計劃更好。

通常,字符串開頭的「%」通配符會阻止SQL Server使用索引。有時in運營商阻止使用索引。