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 JOIN
tillINNER JOIN
(i den som antyder attwq.info is not NULL
)