Мне нужен совет относительно производительности subselect в MySQL. По той причине, что я не могу изменить, я не могу использовать JOIN для создания фильтра quesry, я могу только добавить другое предложение AND в WHERE.MySQL подзаголовок вопрос производительности?
Что в себе свободу от:
select tasks.*
from tasks
where
some criteria
and task.project_id not in (select id from project where project.is_template = 1);
по сравнению с:
select tasks.*
from tasks, project
where
some criteria
and task.project_id = project.id and project.is_template <> 1;
Обратите внимание, что существует относительно небольшое число проектов whete is_template = 1, и может быть большое количество проектов, где is_template <> 1.
Есть ли другой способ добиться того же результата без подзапросов, если я ничего не могу изменить и фильтровать?
Спасибо за подсказку EXPLAIN. Кажется, что добавление индекса на project.is_template помогает. – Marko