Wyjście EXPLAIN
może czasami wprowadzać w błąd.
Na przykład filesort
nie ma nic wspólnego z plikami, using where
nie oznacza, że używasz WHERE
klauzuli i using index
mogą pojawiać się na stołach bez zdefiniowanego pojedynczego indeksu.
Using where
oznacza tylko, że w tabeli znajduje się klauzula ograniczająca (WHERE
lub ON
), a nie wszystkie rekordy zostaną zwrócone. Pamiętaj, że LIMIT
nie liczy się jako klauzula ograniczająca (chociaż może być).
Using index
oznacza, że wszystkie informacje są zwracane z indeksu, bez szukania rekordów w tabeli. Jest to możliwe tylko wtedy, gdy wszystkie pola wymagane przez zapytanie są objęte indeksem.
Ponieważ wybierasz *
, to jest niemożliwe. Pola inne niż category_id
, board_id
, display
i order
nie są objęte indeksem i należy je sprawdzić.