Tyvärr kan mysql (och kanske alla dbms) inte optimera uttryck som jobs.status != 331 and ack = 0 eftersom B-Tree inte är en struktur som gör det möjligt att snabbt hitta allt som inte är-lika-till-ett-konstant-värde. På så sätt får du alltid en fullskanning.
Om det fanns något bättre skick som jobs.status = 331 and ack = 0 (observera att jag har ändrat != till = ) då skulle det vara ett råd att snabba upp denna fråga:
- dela upp frågan i 2, sammanfogade av
UNION ALL - ersätt i en fråga
LEFT JOINtillINNER JOIN(i den som antyder attwq.info is not NULL)