Подтвердить что ты не робот

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
4b9b3361

Ответ 1

Благодаря оптимизации запросов Sql Server они будут работать с одинаковой скоростью, поскольку они логически эквивалентны.

Я предпочитаю синтаксис IN для краткости и удобочитаемости.

Ответ 2

На самом деле это одно и то же.

Если вы покажете оценочный план выполнения, вы увидите, что он выполняет одно и то же действие.

Ответ 3

Это актуально, когда дело доходит до создания SQL через Linq. Есть несколько примеров, когда созданный sql имеет вид: field = 'xxx' OR field = 'yyy'.