Есть ли какое-либо различие в производительности между оператором “IN” SQL по сравнению с использованием “ИЛИ”?

Мысль я спросил бы хорошо осведомленное сообщество StackOverflow вопрос, который был на моем уме сегодня и я, может казаться, не нахожу ответ.

Есть ли какое-либо различие в производительности или преимущество между "В" или использование "ИЛИ"?

Т.е.

ВЫБЕРИТЕ тип ИЗ типов ГДЕ typecat В ('abc', 'определение')

лучше, чем

ВЫБЕРИТЕ тип ИЗ типов ГДЕ typecat = 'abc' ИЛИ typecat = 'определение'

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

6
задан Austin Salonen 29 April 2010 в 20:15
поделиться

3 ответа

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

1
ответ дан 17 December 2019 в 07:01
поделиться

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

1
ответ дан 17 December 2019 в 07:01
поделиться

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

2
ответ дан 17 December 2019 в 07:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: