哪個更快?SQL Server:選擇vs還是?
SELECT UserName
FROM dbo.UserTable
WHERE UserID in (1,3,4)
SELECT UserName
FROM dbo.UserTable
WHERE UserID = 1
OR UserID = 3
OR UserID = 4
哪個更快?SQL Server:選擇vs還是?
SELECT UserName
FROM dbo.UserTable
WHERE UserID in (1,3,4)
SELECT UserName
FROM dbo.UserTable
WHERE UserID = 1
OR UserID = 3
OR UserID = 4
由於查詢這些都會以相同的速度運行,因爲它們在邏輯上是等價的SQL Server的優化。
儘管我喜歡簡潔和易讀的IN語法。
而不是/或有什麼方法可以查詢?那會更快? – Worgon 2013-06-11 06:33:29
@Worgon如果值的數量很大,您可以將不同的值放入索引臨時表並加入。 – 2014-09-13 19:18:21
其實它是一樣的。
如果顯示預計執行計劃,您將看到它正在執行相同的操作。
這與通過Linq生成SQL相關。有一些情況下,sql創建的形式是:field ='xxx'OR field ='yyy'。
你能澄清一下嗎?我不知道你在說什麼。 – tbodt 2014-09-13 22:18:32
http://stackoverflow.com/questions/3074713/in-vs-or-in-the-sql-where-clause – rdo 2014-04-18 07:54:26