Как оптимизировать выборку из БД?

Может кто-то помочь оптимизировать вот этот запрос:
SELECT q.id
FROM questions.question q
WHERE
  NOT EXISTS (SELECT qt.question_id FROM questions.question_translate_it qt WHERE q.id = qt.question_id)
  AND
  NOT EXISTS (SELECT true FROM questions.translate_questions tq WHERE q.id = tq.question_id AND tq.language_id = 8)
LIMIT 1;


он работает, но долго
индексы:
  • q.id - primary
  • qt.question_id - unique
  • tq.question_id, tq.language_id - unique

Вот план выполнения запроса:
5dadd59079c98470597194.png
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 1
Alex_Wells
@Alex_Wells
PHP/Kotlin
SELECT q.id
FROM questions.question q
LEFT JOIN questions.question_translate_it qt ON q.id = qt.question_id
LEFT JOIN questions.translate_questions tq ON q.id = tq.question_id
  AND tq.language_id = 8
WHERE qt.question_id IS NULL
WHERE tq.question_id IS NULL;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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