L'output di EXPLAIN
a volte può essere fuorviante.
Ad esempio, filesort
non ha nulla a che fare con i file, using where
non significa che stai usando un WHERE
clausola e using index
può apparire sulle tabelle senza un singolo indice definito.
Using where
significa solo che c'è una clausola restrittiva sul tavolo (WHERE
o ON
), e non tutti i record verranno restituiti. Nota che LIMIT
non conta come clausola restrittiva (sebbene possa esserlo).
Using index
significa che tutte le informazioni vengono restituite dall'indice, senza cercare i record nella tabella. Ciò è possibile solo se tutti i campi richiesti dalla query sono coperti dall'indice.
Poiché stai selezionando *
, questo è impossibile. Campi diversi da category_id
, board_id
, display
e order
non sono coperti dall'indice e devono essere cercati.