Beror på vad du är ute efter och vad frågan är.
I allmänhet, för varje rad i EXPLAIN som har en Using where
måste du använda ett index (possible keys
och keys
kolumn). Dessa är dina filter och inkluderar WHERE och ON. Med det står Using index
är ännu bättre. Det betyder att det finns ett täckande index och MySQL kan hämta data direkt från indexet istället för att besöka raden i tabelldata.
Raderna där det inte finns någon Using where
, och det returnerar ett stort antal rader bör tittas på. Dessa är returnerande värden för alla rader i tabellen. Jag vet inte vad din fråga är, så jag vet inte om jag ska bli orolig här. Försök att filtrera resultatuppsättningen för att minska storleken och förbättra prestandan.
Du bör generellt försöka undvika att se Using filesort
eller Using temporary
, även om de bara är dåliga om du inte förväntar dig dem.
Filsortering visas vanligtvis med ORDER-satsen. Du vill vanligtvis att MySQL ska använda ett täckande index (Using index
) så att raderna redan returneras i ordning från servern. Om de inte är det måste MySQL beställa dem efteråt, med hjälp av filesort.
Using temporary
kan vara dåligt när det hänvisar till härledda tabeller eftersom de inte har index. Det verkar som att du uttryckligen har skapat en tillfällig tabell med index, så här är det inte dåligt. Ibland är ditt enda val att använda en härledd tabell, och därför Using temporary
.