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 JOIN
aINNER JOIN
(en el que implica quewq.info is not NULL
)