Desafortunadamente, mysql (y quizás cualquier dbms) no puede optimizar expresiones como jobs.status != 331 and ack = 0 porque B-Tree no es una estructura que permita encontrar rápidamente cualquier cosa que no sea igual a un valor constante. Por lo tanto, siempre obtendrá un escaneo completo.
Si hubiera alguna condición mejor como jobs.status = 331 and ack = 0 (nota sobre el hecho de que he cambiado != a = ) entonces sería un consejo acelerar esta consulta:
- divida la consulta en 2, unidas por
UNION ALL - reemplazar en una consulta
LEFT JOINaINNER JOIN(en el que implica quewq.info is not NULL)