Conforme descrito aqui nos documentos do MySQL :
A coluna filtrada indica uma porcentagem estimada de linhas da tabela que serão filtradas pela condição da tabela. Ou seja, as linhas mostram o número estimado de linhas examinadas e as linhas × filtradas / 100 mostram o número de linhas que serão unidas às tabelas anteriores. Antes do MySQL 5.7.3, essa coluna é exibida se você usar EXPLAIN EXTENDED. A partir do MySQL 5.7.3, a saída estendida é ativada por padrão e a palavra-chave EXTENDED é desnecessária.
Eu ainda não entendi. Qual é o significado de "filtrado" aqui? Que informações podemos obter desta coluna?
Por exemplo, quando começo a consultar, algumas consultas mostram 100 e outras mostram 18 ou menos que 100.
+-------------+-------+--------+---------+---------+------+----------+
| select_type | table | type | key | key_len | rows | filtered |
+-------------+-------+--------+---------+---------+------+----------+
| PRIMARY | a | range | search | 4 | 174 | 18.00 | <--
| PRIMARY | b | eq_ref | PRIMARY | 4 | 1 | 100.00 |
| PRIMARY | c | ALL | PRIMARY | 4 | 1 | 100.00 |
Qual o ponto principal que podemos concluir desse valor?
Dizem que a coluna filtrou apenas 18%? Ou, quanto mais baixa a pontuação, mais bom o índice / consulta?
Estou usando o MySQL 5.7
type
eextra
(que é uma arte por si só); você poderia viver semfiltered
, mas não semtype
.