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?
Dscoduc
fonte
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

Warner
fonte
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.

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

é possível

use um plugin de banco de dados wp como http://wordpress.org/extend/plugins/wp-dbmanager/

e ativar o plug-in

e vá para a página e clique em otimizar banco de dados, ele otimizará seu banco de dados

Não há necessidade de inserir logins sql. Ele busca no wp-config.php

Athul
fonte
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

chantheman
fonte