Não há dados de controle imediatos para informar isso, mas existem alguns mecanismos que você pode configurar.
MECANISMO Nº 1
Se você tiver o log binário ativado, simplesmente faça um grep -i "analyze table"contra todos os logs binários usando a saída de mysqlbinlog .
MECANISMO Nº 2
Se você tiver o log geral ativado, basta fazer uma grep -i "analyze table"pesquisa no arquivo de log geral e localizar o registro de data e hora próximo ao comando.
MECANISMO Nº 3
Você deve agendar um cronjob que seja executado ANALYZE TABLEem todas as tabelas com alto volume de gravação, atualização e exclusão. Dessa forma, não há trabalho de adivinhação.
Não há dados de controle imediatos para informar isso, mas existem alguns mecanismos que você pode configurar.
MECANISMO Nº 1
Se você tiver o log binário ativado, simplesmente faça um
grep -i "analyze table"
contra todos os logs binários usando a saída de mysqlbinlog .MECANISMO Nº 2
Se você tiver o log geral ativado, basta fazer uma
grep -i "analyze table"
pesquisa no arquivo de log geral e localizar o registro de data e hora próximo ao comando.MECANISMO Nº 3
Você deve agendar um cronjob que seja executado
ANALYZE TABLE
em todas as tabelas com alto volume de gravação, atualização e exclusão. Dessa forma, não há trabalho de adivinhação.MECANISMO Nº 4
Tente definir innodb_stats_on_metadata para ter uma medida de previsibilidade de quando uma tabela InnoDB precisa de
ANALYZE TABLE
. (Veja minhaMar 26, 2012
postagem: Quando as estatísticas de índice da tabela InnoDB são atualizadas? )EMBARGO
No passado, muitas vezes afirmei que a execução
ANALYZE TABLE
da tabela no InnoDB é inútil.Jun 21, 2011
: De onde o MySQL Query Optimizer lê as estatísticas do índice?Aug 04, 2011
: Otimizando as configurações padrão do InnoDBOct 16, 2011
: De repente, tem que reconstruir os índices para evitar que o site caiaEsperançosamente,
MECHANISM #4
é provavelmente o que você precisa.