Skip to main content

Command Palette

Search for a command to run...

Engines MySQL

Updated
4 min read

Logo MySQL

Esse texto visa apresentar o funcionamento das engines do banco de dados MySQL.

A assunto busca mostrar as principais diferenças entre as engines do MySQL, de forma simples e não técnica.

Esse texto é voltado para quem está iniciando no mundo do SQL e quer entender um pouco mais sobre esse assunto.

Quais as diferenças entre os motores de banco de dados no MySQL?

O que é um motor de banco de dados?

Um motor de banco de dados é um software que permite que os usuários acessem e manipulem dados armazenados em um banco de dados. O motor de banco de dados é responsável por gerenciar o acesso aos dados, bem como a recuperação e armazenamento de dados.

Quais são os motores de banco de dados no MySQL?

Os principais motores de banco de dados no MySQL são:

  • MyISAM
  • InnoDB
  • MEMORY
  • ARCHIVE
  • CSV
  • MERGE
  • NDB
  • NDBCLUSTER

Hoje vamos falar sobre os motores MyISAM, InnoDB e MEMORY e suas diferenças.

InnoDB

O que é o InnoDB?

O InnoDB é um motor de banco de dados de transação, que suporta transações de banco de dados com recursos de recuperação de falhas e bloqueio de linha. Ele armazena dados em tabelas em arquivos de dados e índices em arquivos de índice.

Quais são as principais características do InnoDB?

  • Todas as tabelas InnoDB são armazenadas em arquivos de dados e índices em arquivos de índice. Os arquivos de dados tem a extensão .ibd e os arquivos de índice, que contêm o formato da tabela, têm a extensão .frm.
  • O InnoDB suporta transações de banco de dados com recursos de recuperação de falhas e bloqueio de linha.
  • O InnoDB suporta tabelas com chaves primárias compostas.
  • Ao fazer uma consulta, o InnoDB verifica se a consulta pode ser resolvida usando um índice. Se não puder, ele faz uma varredura completa da tabela.
  • Quando tiver uma mudança de dados na tabela, o InnoDB bloqueia somente as linhas afetadas. Dessa forma, o InnoDB pode lidar com grandes quantidades de dados.
  • O InnoDB hoje é o motor padrão do MySQL. Depois que o InnoDB foi introduzido, o MyISAM foi considerado obsoleto e não é mais recomendado para novos projetos.

MyISAM

O que é o MyISAM?

O MyISAM é um motor de banco de dados de tabela, que armazena dados em tabelas em arquivos de dados e índices em arquivos de índice. O MyISAM não suporta transações de banco de dados com recursos de recuperação de falhas e bloqueio de linha.

Quais são as principais características do MyISAM?

  • Todas as tabelas MyISAM são armazenadas em arquivos de dados e índices em arquivos de índice. Os arquivos de dados têm a extensão .MYD e os arquivos de índice, que contêm o formato da tabela, têm a extensão .MYI.
  • O MyISAM não suporta transações de banco de dados com recursos de recuperação de falhas e bloqueio de linha.
  • O MyISAM não suporta tabelas com chaves primárias compostas.
  • Quando tiver uma mudança de dados na tabela, o MyISAM bloqueia a tabela inteira. Dessa forma, o MyISAM não pode lidar com grandes quantidades de dados.

MEMORY

O que é o MEMORY?

O MEMORY é um motor de banco de dados de tabela, que armazena dados em tabelas em memória. O MEMORY não suporta transações de banco de dados com recursos de recuperação de falhas e bloqueio de linha.

Quais são as principais características do MEMORY?

  • Todas as tabelas MEMORY são armazenadas em memória.
  • O MEMORY não suporta transações de banco de dados com recursos de recuperação de falhas e bloqueio de linha.
  • Caso surja uma falha no servidor, os dados serão perdidos.
  • O MEMORY não suporta tabelas com chaves primárias compostas.
  • Quando tiver uma mudança de dados na tabela, o MEMORY bloqueia a tabela inteira. Dessa forma, o MEMORY não pode lidar com grandes quantidades de dados.

MyISAM vs MEMORY

Realmente não há muita diferença entre os motores MyISAM e MEMORY. Ambos armazenam dados em arquivos de dados e índices em arquivos de índice. Ambos não suportam transações de banco de dados com recursos de recuperação de falhas e bloqueio de linha. Ambos não suportam tabelas com chaves primárias compostas. Ambos bloqueiam a tabela inteira quando tiver uma mudança de dados na tabela. Ambos não podem lidar com grandes quantidades de dados.

A diferença entre os motores MyISAM e MEMORY é que o MEMORY armazena dados em memória RAM e o MyISAM armazena dados em arquivos de dados.

Dessa forma, o MEMORY é incrivelmente rápido. Ele é usado para armazenar dados temporários, como dados de sessão, dados de cache e dados de fila.

Espero que tenha ajudado. Qualquer dúvida, correção ou sugestão, por favor, deixe nos comentários.

2 views

More from this blog

L

Luiz Schons

28 posts