За съжаление mysql (и може би всеки dbms) не може да оптимизира изрази като jobs.status != 331 and ack = 0
тъй като B-Tree не е структура, която позволява бързо намиране на всичко, което-не-равно-на-постоянна-стойност. Така винаги ще получавате пълно сканиране.
Ако имаше някакво по-добро условие като jobs.status = 331 and ack = 0
(обърнете внимание на факта, че промених !=
до =
) тогава би било съвет да ускорите тази заявка:
- разделете заявката на 2, присъединени от
UNION ALL
- заменете в една заявка
LEFT JOIN
къмINNER JOIN
(в този, който предполага, чеwq.info is not NULL
)