Ответ 1
Благодаря оптимизации запросов Sql Server они будут работать с одинаковой скоростью, поскольку они логически эквивалентны.
Я предпочитаю синтаксис IN для краткости и удобочитаемости.
Что быстрее?
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 для краткости и удобочитаемости.
На самом деле это одно и то же.
Если вы покажете оценочный план выполнения, вы увидите, что он выполняет одно и то же действие.
Это актуально, когда дело доходит до создания SQL через Linq. Есть несколько примеров, когда созданный sql имеет вид: field = 'xxx' OR field = 'yyy'.