Resumo: neste tutorial, você aprenderá vários motores de armazenamento MySQL ou tipos de tabelas. É essencial entender as características de cada mecanismo de armazenamento no MySQL para que você possa usá-los efetivamente para maximizar a performance de suas bases de dados.
MySQL fornece vários mecanismos de armazenamento para suas tabelas como segue:
- MyISAM
- InnoDB
- MERGE
- MEMORY (HEAP)
- ARQUIVO
- CSV
- FEDERATED
Cada mecanismo de armazenamento tem suas próprias vantagens e desvantagens. É crucial entender cada mecanismo de armazenamento e escolher o mais apropriado para suas tabelas para maximizar o desempenho da base de dados. Nas seções seguintes, discutiremos cada mecanismo de armazenamento e suas características para que você possa decidir qual utilizar.
MyISAM
MyISAM amplia o antigo mecanismo de armazenamento ISAM. As tabelas MyISAM estão otimizadas para compressão e velocidade. As mesas MyISAM também são portáteis entre plataformas e sistemas operacionais.
O tamanho da mesa MyISAM pode chegar a 256TB, o que é enorme. Além disso, as mesas MyISAM podem ser comprimidas em tabelas apenas de leitura para economizar espaços. Na inicialização, o MySQL verifica se as tabelas MyISAM estão corrompidas e até as repara em caso de erros. As tabelas MyISAM não são transaction-safe.
Antes da versão 5.5 do MySQL, o MyISAM é o motor de armazenamento padrão quando se cria uma tabela sem especificar explicitamente o motor de armazenamento. A partir da versão 5.5, o MySQL utiliza o InnoDB como o motor de armazenamento padrão.
InnoDB
As tabelas InnoDB suportam totalmente as transacções e transacções compatíveis com ACID. Elas também são ótimas para o desempenho. As tabelas InnoDB suportam chaves estrangeiras, commit, rollback, roll-forward operações. O tamanho de uma tabela InnoDB pode ser de até 64TB.
Tal como MyISAM, as tabelas InnoDB são portáteis entre diferentes plataformas e sistemas operacionais. MySQL também verifica e repara tabelas InnoDB, se necessário, na inicialização.
MERGE
Uma tabela MERGE é uma tabela virtual que combina várias tabelas MyISAM que têm uma estrutura similar a uma tabela. O motor de armazenamento MERGE é também conhecido como o motor MRG_MyISAM
. A tabela MERGE
não tem índices próprios; utiliza índices das tabelas de componentes em vez disso.
Utilizando a tabela MERGE, você pode acelerar o desempenho ao juntar múltiplas tabelas. O MySQL só permite que você execute operações SELECT, DELETE, UPDATE e INSERT nas tabelas MERGE
. Se você usar DROP TABLE
instrução em uma tabela MERGE
, apenas MERGE
especificação é removida. As tabelas subjacentes não serão afetadas.
Memória
As tabelas de memória são armazenadas na memória e utilizam índices de hash para que sejam mais rápidas que as tabelas MyISAM. A vida útil dos dados das tabelas de memória depende do tempo de funcionamento do servidor de base de dados. O motor de armazenamento de memória é anteriormente conhecido como HEAP.
Arquivo
O motor de armazenamento de arquivo permite-lhe armazenar um grande número de registos, que para fins de arquivamento, num formato comprimido para poupar espaço em disco. O motor de armazenamento de arquivo comprime um registo quando este é inserido e descomprime-o utilizando a biblioteca zlib à medida que é lido.
As tabelas de arquivo apenas permitem instruções INSERT e SELECT. As tabelas ARCHIVE
não suportam índices, pelo que é necessária uma leitura completa da tabela para ler linhas.
CSV
O motor de armazenamento CSV armazena dados em formato de ficheiro de valores separados por vírgula (CSV). Uma tabela CSV traz uma maneira conveniente de migrar dados para aplicações não-SQL, como software de planilha eletrônica.
A tabela CSV não suporta o tipo de dados NULL. Além disso, a operação de leitura requer uma varredura de tabela completa.
FEDERATED
O motor de armazenamento FEDERATED
permite gerenciar dados de um servidor MySQL remoto sem usar a tecnologia de cluster ou replicação. A tabela federada local não armazena dados. Quando você consulta dados de uma tabela federada local, os dados são puxados automaticamente das tabelas federadas remotas.
Selecionando tipos de tabelas MySQL
Você pode baixar a seguinte lista de verificação para escolher o mecanismo de armazenamento mais apropriado, ou tipo de tabela, com base em vários critérios.
>
MySQL Storage Engines Feature Summary
Neste tutorial, você aprendeu vários mecanismos de armazenamento ou tipos de tabela disponíveis no MySQL.
- Este tutorial foi útil?
- SimNão