Tabela MySQL não suporta otimização


9

Minhas tabelas do Wordpress parecem estar precisando de otimização, então olhei para o comando OPTIMIZE TABLE. Quando executo o comando, obtenho os seguintes resultados:

A tabela não suporta otimizar, ao invés de recriar + analisar

As tabelas são construídas usando o instalador do Wordpress 2.91 e não foram modificadas.

  1. Isso é normal?
  2. Como otimizar meu banco de dados para manter as coisas funcionando corretamente?

Você conseguiu sua mesa otimizada?
Richard Holloway

Respostas:


5

Você encontrou a documentação do MySQL? É extenso e útil.

Quando você executa as OPTIMIZE TABLEtabelas do InnoDB, ele exibe a Table does not support optimize, doing recreate + analyze insteadmensagem.

A partir da documentação:

OPTIMIZE TABLE é mapeado para ALTER TABLE, que reconstrói a tabela para atualizar estatísticas do índice e liberar espaço não utilizado no índice clusterizado.

Sintaxe do MySQL 5.1 OPTIMIZE TABLE


11
Com isso em mente, verifique seu mecanismo antes de ativar, skip-innodbconforme sugeri em sua postagem anterior.
Warner

11
Engraçado, procurei muitas vezes por suporte neste tópico e não encontrei essas informações ... Então, na verdade, a documentação do mySQL não é realmente tão útil .... Mesmo assim, ainda não vejo uma resposta para minha pergunta sobre como manter meu banco de dados funcionando corretamente, sem ser capaz de otimizar o banco de dados ...
Dscoduc

2
A mensagem indica que está otimizando a tabela. A razão pela qual é tão detalhada é porque é essencialmente um atalho para a instrução alter table, que era o que deveria ser usado nas versões anteriores do MySQL porque OPTIMIZE TABLEnão podia ser executado no InnoDB. Por que você acredita que precisa otimizar a tabela para que seu banco de dados funcione corretamente?
Warner

5

Você pode otimizar uma tabela do InnoDB fazendo

ALTER TABLE tablename ENGINE='InnoDB';

Isso criará uma cópia da tabela original, solte a tabela original e coloque a nova tabela em seu lugar.

aqui algumas informações adicionais que incluem coisas das quais você deve estar ciente.

Também na documentação do MySQL . Veja o comentário de Dathan Pattishall em 25 de maio de 2004 às 16:41, aproximadamente na metade da página.

Embora isso deva ser seguro, você deve fazer e testar um backup primeiro.


2
Isso produz exatamente os mesmos resultados que a execução OPTIMIZE TABLEem uma tabela InnoDB no MySQL.
Warner


2

OPTIMIZE funciona para o InnoDB. Pelo menos agora. Esta é a documentação 5.6:

Para tabelas InnoDB, OPTIMIZE TABLE é mapeado para ALTER TABLE, que reconstrói a tabela para atualizar estatísticas do índice e liberar espaço não utilizado no índice clusterizado.

Ler: otimizar tabela

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.