Я использую реализацию JPA Hibernate с MySQL 5.0.67. MySQL настроен на использование InnoDB.Предложение SQL IN медленнее, чем отдельные запросы
Выполнение запроса JPA (который переведен на SQL), я обнаружил, что использование предложения IN
происходит медленнее, чем выполнение отдельных запросов. Пример:
SELECT p FROM Person p WHERE p.name IN ('Joe', 'Jane', 'Bob', 'Alice')
медленнее, чем четыре отдельных запросов:
SELECT p FROM Person p WHERE p.name = 'Joe'
SELECT p FROM Person p WHERE p.name = 'Jane'
SELECT p FROM Person p WHERE p.name = 'Bob'
SELECT p FROM Person p WHERE p.name = 'Alice'
Почему это? Это ограничение производительности MySQL?
Имеет ли SQL Server этот недостаток? –
Я не пользователь SQL Server, поэтому я не знаю ответа. Лучше всего попробовать обе формы запросов в Query Analyzer и использовать параметр меню «Показать вариант выполнения». –
Нет, SQL Server не имеет этой проблемы –