Есть ли разница в производительности между оператором SQL «IN» и «OR»? - PullRequest
6 голосов
/ 29 апреля 2010

Я подумал, что задам знающему сообществу StackOverflow вопрос, который у меня сегодня на уме, и я не могу найти ответ.

Есть ли разница в производительности или преимущество между "IN" или использованием "ИЛИ"?

Т.е.. Есть

ВЫБРАТЬ тип ИЗ типов, ГДЕ тип ввода IN ('abc', 'def')

лучше чем

ВЫБЕРИТЕ тип ОТ типов, ГДЕ typecat = 'abc' ИЛИ ​​typecat = 'def'

Добавление : Использование SQL Server 2008

Ответы [ 3 ]

2 голосов
/ 29 апреля 2010

Это полностью зависит от используемого вами продукта SQL, который вы не указали. Одна СУБД, которую я использую регулярно, не может использовать индексы для версии OR.

1 голос
/ 29 апреля 2010

Если я правильно помню, SQL Server преобразует ваш оператор IN в оператор OR.

1 голос
/ 29 апреля 2010

Нет, разницы в производительности нет. Об этом позаботится оптимизатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...