Manual MyTable

MySQL • Analisar Tabela

A ação Analisar Tabela atualiza as estatísticas que o otimizador do MySQL usa para escolher o melhor plano de execução. Após grandes mudanças (importações, exclusões, criação/remoção de índices ou alterações de collation/tipos), é recomendável analisar para que consultas voltem a usar planos eficientes.


Quando usar

  • Depois de importar ou excluir muitos registros.
  • Após criar/remover índices relevantes.
  • Depois de mudanças estruturais (tipos, collation) que possam alterar a seletividade.
  • Quando consultas ficaram subitamente lentas sem alteração no SQL.

Dica: combine com Compactar Tabela quando houve muita fragmentação.


Abrir “Analisar Tabela”

  1. Conecte-se à sua conexão MySQL e escolha o banco.
  2. Na árvore, selecione a tabela desejada.
  3. No menu de ações, toque em Analisar Tabela.

O que a ação faz

  • Recalcula estatísticas de cardinalidade e distribuição usadas pelo otimizador.
  • Ajuda o servidor a escolher índices melhores e planos mais baratos para suas consultas.
  • Em geral é rápido; em tabelas enormes pode levar mais tempo.

Passo a passo

  1. Revise o resumo da tabela (nome, banco, engine).
  2. (Opcional) Marque para executar em lote em mais tabelas (quando disponível na sua tela).
  3. Toque em Analisar e acompanhe o status até a conclusão.
  4. Confira o resultado (sucesso/tempo). Se houver aviso, veja a seção de erros abaixo.

Boas práticas

  • Programe análises em janela recorrente para tabelas críticas (semanal/mensal).
  • Após criar índices novos, analise a tabela para que o planner avalie a nova seletividade.
  • Combine com Manutenção quando houver muitas alterações recentes.

Como verificar impacto

  • Refaça a consulta que estava lenta e compare tempo e plano (quando disponível).
  • Valide indicadores de SLA das telas mais usadas pelo seu time.

Erros comuns (e soluções)

“Permissão negada”

  • Use um usuário com privilégio para ANALYZE/ALTER na tabela.

“Tempo excedido”

  • Execute fora do pico ou divida por partições (se a tabela for particionada).

“Tabela ocupada por bloqueios”

  • Repita durante janela de menor concorrência; reduza transações longas em paralelo.

Próximas ações

Voltar: MySQL • Compactar Tabela