Prefiro deixá-lo para os clientes apenas porque o OPTIMIZE TABLE
bloqueia a tabela durante a duração da operação .
Eu uso o mysqltuner para sintonizar o servidor mysql. Recomenda-se "Executar OPTIMIZE TABLE para desfragmentar tabelas para melhor desempenho". Eu tinha feito isso em um único banco de dados antes e não vejo nenhum problema. Agora, eu tenho vários bancos de dados do cliente neste servidor, estou hesito em usar otimizar e reparar em todos os bancos de dados. É seguro fazer isso? Devo otimizar seus bancos de dados ou pedir que eles façam isso? Obrigado.
Eu nunca tive um problema com isso. Eu diria que é tão seguro quanto qualquer outra coisa no MySQL.
Eu definitivamente agendaria isso para um horário calmo / off-peak, e faria um despejo de banco de dados antes e imediatamente depois, e compararia se possível.
é claro, você pode querer considerar se há uma razão para o desempenho do banco de dados estar caindo e olhar o log de consultas lentas do mysql para ver se um novo layout de tabela evitaria problemas.
Tags mysql