Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) myisam vs memory vs innod vs archive


hipnos na area

Pergunta

Tenho projetos feitos tanto com UTF-8 quanto com latin1 e todos usam MyIsam. O que eu gostaria de saber é quais as principais diferenças de:

myisam, memory, innod e archive.

Todas dão suporte para UTF-8 e latin1?

Quais tem o melhor desempenho (não só em SELECT, mas em UPDATE e INSERT tambem)?

Qual tem menor gasto de memória?

Todas tem suporte para todos os servidores que utilizam MySQL?

Qual vocês me recomendam?

Eu li que o MyIsam, tem melhor desempenho geral, porem o innoDB tem melhor desempenho em INSERT e UPDATE, isso procede?

Obrigado

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

A grosso modo podemos dizer o seguinte sobre as engines:

MyISAM: Não tem controle de transação (commit automático sem rollback). Não tem integridade relacional (tabela pai pode ser detonada antes de tabela filha, deixando dados órfãos). Dados de cada tabela são guardados em tres tipos de arquivos distintos. Acesso extremamente rápido para consultas. Eu uso muito para OLAP.

InnoDB: Possui controle de transação (commit pode ser automático ou manual. Você configura). Possui rollback. Possui integridade relacional (tabela pai NÃO pode ser detonada antes de tabela filha). Somente a estrutura da tabela é guardada em tabela a parte. Demais informações "dados" e "indices" são armazenados em um único arquivo. Ideal para OLTP.

MEMORY: Armazenamento em memória. Igual MyISAM mas dados residem somente na RAM.´Ótimo para tabelas temporárias e dados não críticos.

ARCHIVE: Não sei informar. Nunca trabalhei com este engine.

Leia:http://dev.mysql.com/doc/refman/5.0/en/

http://dev.mysql.com/doc/refman/4.1/pt/what-is.html

http://dev.mysql.com/doc/refman/4.1/pt/storage-engines.html

http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html

Link para o comentário
Compartilhar em outros sites

  • 0

Humm então entendi claramente (eu acho)

Vamos ver se ficou claro

  • MyIsam (OLAP destinado ao usuário final/internauta)
  • InnoDB (Acesso interno de uma empresa, pode ser externo também como o sistema do DETRAN, porem mais destinados para funcionários).

Ok.

Veja como é o meu sistema:

Tenho um site de anúncios (seria Myisam - internauta), porem os produtos vivem sofrendo alterações (são 50 funcionários, então seria InnoDB)

Porem todas as páginas visualizadas pelos internautas são adicionadas em CACHE (cache é feito salvo em um HTML e expira em 1 hora),

exceto páginas em método POST, como formulários de contato e chat com o cliente.

Visando isto, então a maior parte se enquadra no InnoDB (exceto bases de dados que sofrem pouca alteração, como lista de "cidades e estados" que se enquadraria em MyIsam).

Estou certo? Teria alguma dica ou correção na minha idéia de trabalho com banco de dados?

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0
...

Estou certo? Teria alguma dica ou correção na minha idéia de trabalho com banco de dados?

...

Eu vejo de outra forma. Se o controle de transação e de integridade estão em meu programa (para ganho de performance em banco) uso MyISAM (A configuração e tunning dele é mais fácil)

Se o controle de transação e de integridade são efetuados pelo banco, então uso InnoDB.

Uso MEMORY em tabelas tempotrárias para que possam ser descarregadas no banco físico com mais facilidade e para que possam ser consultadas sem ter que acessar dados em disco. Ao dropar uma tabela temporária com engine MEMORY os dados são apagados e a área de memória alocada é liberada automaticamente.

Link para o comentário
Compartilhar em outros sites

  • 0

Muito obrigado Denis Courcy

Vou manter em MyIsam e irei ampliar as técnicas de CACHE para poupar conexões (apesar da minha hospedagem ser vps).

Como raramente (para dizer nunca) uso JOIN ou SUBSELECT pois minhas QUERYS são simples, tambem seria outro motivo para usar o MyIsam.

Agora acho que estou no caminho certo :unsure:

Pode marcar como Resolvido.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...