La sortie de EXPLAIN
peut parfois être trompeur.
Par exemple, filesort
n'a rien à voir avec les fichiers, using where
ne signifie pas que vous utilisez un WHERE
clause, et using index
peut apparaître sur les tables sans qu'un seul index soit défini.
Using where
signifie simplement qu'il y a une clause restrictive sur la table (WHERE
ou ON
), et tous les enregistrements ne seront pas renvoyés. Notez que LIMIT
ne compte pas comme une clause restrictive (bien que cela puisse l'être).
Using index
signifie que toutes les informations sont renvoyées à partir de l'index, sans rechercher les enregistrements dans la table. Ceci n'est possible que si tous les champs requis par la requête sont couverts par l'index.
Puisque vous sélectionnez *
, c'est impossible. Champs autres que category_id
, board_id
, display
et order
ne sont pas couverts par l'index et doivent être recherchés.