20

Which is faster?

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
marc_s
  • 704,970
  • 168
  • 1,303
  • 1,425
ctrlShiftBryan
  • 25,858
  • 25
  • 70
  • 77

3 Answers3

25

Due to Sql Server's optimization of queries these will run at the same speed since they are logically equivalent.

i favor the IN syntax for brevity and readability though.

Paul Sasik
  • 76,452
  • 19
  • 147
  • 184
7

Actually it is the same.

If you display the estimated execution plan you will see that it is performing the same action.

David Espart
  • 11,142
  • 7
  • 35
  • 49
-1

This is relevant when it comes to producing SQL via Linq. There are some instances where the sql created is in the form of: field='xxx' OR field='yyy'.