Как оптимизировать запрос для большого объёма данных?
Есть запрос, который нужно оптимизировать для выполнения на большом объёме данных.
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, но уже сомневаюсь.
А что вы хотите делать циклом?
Вообще для оптимизации нужно как минимум видеть план.
Но если наугад - то очень сомневаюсь, что все подзапросы возвращать по 10 строк, а значит используйте join.