Мне нужен совет относительно производительности подвыбора в MySQL. По причине того, что я не могу измениться, я не могу использовать JOIN для создания фильтра запросов, я могу только добавить еще одно предложение AND в WHERE.
Какова производительность:
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;
Обратите внимание, что существует относительно небольшое количество проектов, когда is_template = 1, и может быть большое количество проектов, в которых is_template <> 1.
Есть ли другой способ достичь того же результата без подвыборов, если я не могу ничего изменить, кроме как и отфильтровать?