@vasenka

Как оптимизировать запрос для большого объёма данных?

Есть запрос, который нужно оптимизировать для выполнения на большом объёме данных.

SELECT PID FROM auto WHERE 
PID NOT IN (SELECT DISTINCT auto_id FROM auto_in)
AND fk_id_client IN
(SELECT PID FROM client WHERE id_client IN
(SELECT id_client FROM client WHERE F_TYPE = 'BASE' GROUP BY id_client HAVING COUNT(*) >= 2))

Проще всего, наверное, циклом. Сначала хотела через while loop, но уже сомневаюсь.
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 2
@ComodoHacker
Оптимизировать запросы "по фотографии" дело безнадежное.
Прежде всего, нужен тот самый объем данных, на котором можно проверить.

Но общий совет — замените IN / NOT IN на джойны / антиджойны.
Ответ написан
BojackHorseman
@BojackHorseman Куратор тега SQL
...в творческом отпуске...
уйти от вложенных запросов для начала
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы