Depende do que você está procurando e qual é a consulta.
Geralmente, para cada linha em EXPLAIN que tem um
Using where
, você precisa tê-lo usando um índice (possible keys
e keys
coluna). Estes são seus filtros e incluem WHERE e ON. Dizendo Using index
é ainda melhor. Isso significa que há um índice de cobertura e o MySQL pode recuperar os dados diretamente do índice em vez de visitar a linha nos dados da tabela. As linhas onde não há
Using where
, e está retornando um grande número de linhas devem ser examinadas. Eles estão retornando valores para todas as linhas da tabela. Eu não sei qual é a sua pergunta, então não sei se devo ficar alarmado aqui. Tente filtrar o conjunto de resultados para reduzir o tamanho e melhorar o desempenho. Você geralmente deve tentar evitar ver
Using filesort
ou Using temporary
, embora esses sejam apenas ruins se você não os estiver esperando. Filesort geralmente aparece com a cláusula ORDER. Você geralmente quer que o MySQL use um índice de cobertura (
Using index
) para que as linhas sejam retornadas já em ordem do servidor. Se não estiverem, o MySQL deve solicitá-los posteriormente, usando filesort. Using temporary
pode ser ruim quando se refere a tabelas derivadas porque elas não possuem índices. Parece que você criou explicitamente uma tabela temporária com índices, então aqui, não é ruim. Às vezes, sua única opção é usar uma tabela derivada e, portanto, Using temporary
.