Задать вопрос
@user-valery-52182

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

Может кто-то помочь оптимизировать вот этот запрос:
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
  • Вопрос задан
  • 167 просмотров
Подписаться 2 Простой 16 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия DevOps-инженер + ИИ
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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;
Ответ написан
Ваш ответ на вопрос

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

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