No MySQL o que significa “Overhead” média, o que é ruim sobre isso, e como corrigi-lo?

StackOverflow https://stackoverflow.com/questions/565997

  •  05-09-2019
  •  | 
  •  

Pergunta

pergunta simples, mas a sua foi me incomodando há algum tempo ....

o que é "overhead" no MySQL, e que eu deveria estar preocupado?

faz "OPTIMIZE TABLE" corrigi-lo clicando para real?

Foi útil?

Solução

Parece que a sobrecarga é diskspace temporária que o banco de dados usado para executar algumas das consultas, assim você só deve se preocupar se isso fica muito alto.

Você pode comparar 'Otimizando a tabela' com a desfragmentação do seu disco rígido.

cito:

Cada vontade do banco de dados, ao longo do tempo, exigir alguma forma de manutenção para mantê-lo em um ideal desempenho nível. Purgar linhas excluídas, resequencing, compressão, gerenciamento caminhos de índice, desfragmentando, etc é que é conhecido como otimização no mysql e outros termos em outros bancos de dados. Por exemplo, IBM DB2 / 400 chamadas de TI REORGANIZE FÍSICAS ARQUIVO MEMBRO.

É uma espécie de como mudar o óleo em seu carro ou obter um tune-up. Você pode acho que você realmente não precisa, mas por fazendo assim que seu carro funciona muito melhor, você obter melhor quilometragem, etc. Um carro que recebe muita quilometragem exige tune-ups com mais freqüência. Um banco de dados que recebe uso pesado exige o mesmo. E se você está fazendo um monte de UPDATE e / ou operações DELETE, e especialmente se suas tabelas têm comprimento variável colunas (VARCHAR, TEXT, etc), você precisa para manter 'er ajustado.

Outras dicas

Se você está falando sobre a coisa que phpMyAdmin chama overhead, então é tamanho real de uma tabela de arquivo de dados em relação ao tamanho ideal do mesmo arquivo de dados (como se quando apenas restaurado a partir de backup).

Por motivos de desempenho, MySQL não compactar os arquivos de dados depois que exclui ou linhas atualizações.

Esta overhead é ruim para a varredura da tabela, i. e. quando as suas necessidades de consulta para executar sobre todos os valores da tabela, ele vai precisar de olhar para mais espaço vazio.

Você pode se livrar do overhead executando OPTIMIZE TABLE que irá compactar sua mesa e índices.

Overhead é Data_free de uma tabela, que é O número de bytes alocados mas não utilizados. Podemos encontrá-lo pelo comando SQL STATUS SHOW TABLE . É o espaço livre em tamanho alocado para sua mesa.

OPTIMIZE TABLE pode ser muito problemático. Por exemplo, se a tabela é muito usado em um site.

http://dev.mysql.com/doc/ refman / 5.1 / en / optimize-table.html

Depois de eliminar uma grande parte de um MyISAM ou mesa ARQUIVO, ou fazer muitas mudanças para um MyISAM ou mesa ARQUIVO com linhas de comprimento variável (tabelas que têm VARCHAR, BLOB, ou colunas de texto). linhas excluídas são mantidos em uma lista vinculada e subsequentes operações INSERT reutilização posições das linhas de idade. <

Eu acredito que eu tenha confirmado esse comportamento. E certamente seria muito útil, de fato.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top