Sfortunatamente mysql (e forse qualsiasi dbms) non può ottimizzare espressioni come jobs.status != 331 and ack = 0
perché B-Tree non è una struttura che permette di trovare velocemente tutto ciò che non è uguale a un valore costante. In questo modo otterrai sempre una scansione completa.
Se ci fossero condizioni migliori come jobs.status = 331 and ack = 0
(nota sul fatto che ho cambiato !=
a =
) allora sarebbe un consiglio per velocizzare questa query:
- dividi la query in 2, unita da
UNION ALL
- sostituisci in una query
LEFT JOIN
aINNER JOIN
(in quello che implica chewq.info is not NULL
)