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 JOINaINNER JOIN(in quello che implica chewq.info is not NULL)