A saída de
EXPLAIN
às vezes pode ser enganosa. Por exemplo,
filesort
não tem nada a ver com arquivos, using where
não significa que você está usando um WHERE
cláusula e using index
pode aparecer nas tabelas sem um único índice definido. Using where
apenas significa que existe alguma cláusula restritiva na tabela (WHERE
ou ON
), e nem todos os registros serão retornados. Observe que LIMIT
não conta como uma cláusula restritiva (embora possa ser). Using index
significa que todas as informações são retornadas do índice, sem buscar os registros na tabela. Isso só é possível se todos os campos exigidos pela consulta estiverem cobertos pelo índice. Como você está selecionando
*
, isto é impossível. Campos diferentes de category_id
, board_id
, display
e order
não são cobertos pelo índice e devem ser consultados.