Ist IN schneller als OR?

Ist IN schneller als OR?

Wenn ich eine Select-Anweisung der Art Select * From Table Where id = 1 or id = 2 or id = 3 …  habe, kann ich die beschleunigen, indem ich sie so schreibe Select * From Table Where id in (1,2,3, …) ?

Noch keine Bewertungen

Nein!

IN ist ein Shortcut für mehrfache OR's und SQL Server übersetzt eine IN() Klausel intern sowieso in eine Kette von OR's. Du kannst das leich nachvollziehen, indem Du ein
SET SHOWPLAN_TEXT ON
GO
SELECT statement
setzt.
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org