Cole um plano já obtido do MySQL: FORMAT=JSON, uma árvore de EXPLAIN ANALYZE ou a tabela copiada do console. A página lista o tipo de acesso, a chave selecionada e as linhas estimadas de cada tabela, e aponta varreduras completas, tabelas temporárias e filesort. Nada é enviado ao banco e nenhuma consulta é executada.
Funciona localmente no seu navegadorEsta é uma revisão somente leitura. Ela nunca executa uma consulta nem envia SQL ao MySQL.
Cole um plano que você já tenha do MySQL: a saída FORMAT=JSON, uma árvore de EXPLAIN ANALYZE ou a tabela do console do cliente mysql. A página lista cada tabela encontrada com o tipo de acesso, a chave selecionada e as linhas estimadas, e aponta varreduras completas de tabela, tabelas temporárias e filesort. Tudo roda no navegador: nenhuma consulta é executada e nada é enviado a um banco de dados.
O analisador lê as três formas que o próprio MySQL imprime e não inventa números: quando o plano não traz estimativa de linhas, a coluna mostra — em vez de 0. As estimativas vêm das estatísticas do servidor, então são a aposta do planejador, não uma medição da consulta.
Linhas de acesso conta as entradas de tabela que o analisador encontrou no plano, não as linhas que a consulta percorre; cada entrada é uma linha da tabela abaixo. Linhas estimadas soma os valores rows_examined_per_scan (ou rows) que consegue ler e mostra — quando nenhuma entrada traz um número. Varreduras completas conta o tipo de acesso ALL, varreduras de índice conta INDEX e acessos com chave conta as entradas em que uma chave foi realmente escolhida.
A tabela mantém a terminologia do plano: tipo de acesso, chave selecionada, filtrado e uma coluna extra que nomeia as chaves possíveis quando nenhuma foi escolhida, o buffer de junção ou a condição anexada. possible_keys é uma lista de candidatas, não um índice escolhido, então nunca aparece na coluna da chave selecionada.
O MySQL 8 guarda subconsultas e views materializadas dentro do objeto table (attached_subqueries, materialized_from_subquery). O analisador desce até elas, então uma tabela interna aparece como linha própria, e uma autojunção que varre a mesma tabela duas vezes é informada duas vezes em vez de ser colapsada.
A saída em árvore do EXPLAIN ANALYZE é lida linha a linha (Table scan, Index scan, Index range scan, Index lookup…), e quando a árvore traz linhas reais a página as mostra ao lado da estimativa. A saída de console é lida em colunas separadas por tabulação ou barra, então a tabela do cliente mysql pode ser colada como está. Planos com mais de 250 linhas de acesso são cortados na linha 250 e o relatório avisa.
A página não consegue conectar ao MySQL: não executa a consulta, não vê o esquema nem as estatísticas e não sabe se o servidor ainda escolheria esse plano. Um plano obtido sem ANALYZE traz apenas estimativas, e um plano de outra versão do MySQL pode nomear chaves ou tipos de acesso que esta página não conhece.
Nada fica em cache entre análises: uma nova substitui contadores, achados, tabela e relatório anteriores, e um texto que não seja um plano EXPLAIN limpa os painéis em vez de deixar um relatório antigo que Copiar poderia entregar. O relatório repete o formato, os contadores e todos os achados, então as notas viajam com os números.