MySQL qual escolher entre Innodb e Myisam

Índice

O mecanismo de armazenamento é responsável por armazenar, manipular e recuperar informações de uma tabela. Os motores mais conhecidos são MyISAM e InnoDB. A escolha de um ou outro vai depender muito do cenário onde for aplicado.
A escolha visa atingir a melhor relação de qualidade de acordo com a nossa aplicação. Se precisarmos de transações, chaves estrangeiras e bloqueios, teremos que escolher InnoDB. Ao contrário, escolheremos MyISAM nos casos em que predominam as consultas SELECT ao banco de dados.
O InnoDB fornece ao MySQL um mecanismo de armazenamento transacional (compatível com ACID) com recursos de confirmação, reversão e recuperação de falhas. O InnoDB executa bloqueios em nível de linha e também fornece funções de leitura consistentes sem bloqueio no estilo Oracle em instruções SELECT. Esses recursos aumentam o desempenho e a capacidade de gerenciar vários usuários simultâneos. Um bloqueio escalonado não é necessário no InnoDB porque os bloqueios em nível de linha ocupam muito pouco espaço. InnoDB também suporta restrições FOREIGN KEY. Em consultas SQL, mesmo dentro da mesma consulta, tabelas do tipo InnoDB podem ser incluídas livremente com tabelas de outros tipos.
MyISAM é o mecanismo padrão. Para criar uma tabela InnoDB, a opção ENGINE = InnoDB ou TYPE = InnoDB deve ser especificada na instrução SQL de criação da tabela:
CREATE TABLE clientes (a INT, b CHAR (20), INDEX (a)) ENGINE = InnoDB; CREATE TABLE clientes (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

Vantagens de usar InnoDB
Suporte de transação
Bloqueio de registros
Permite-nos ter as características ACID (Atomicidade, Consistência, Isolamento e Durabilidade: Atomicidade, Consistência, Isolamento e Durabilidade em espanhol), garantindo a integridade das nossas placas.
É provável que se nosso aplicativo fizer um alto uso de INSERT e UPDATE, notaremos um aumento no desempenho em comparação com MyISAM.
Vantagens de usar MyISAM
Recuperação de dados geral mais rápida.
Recomendado para aplicativos que dominam as instruções SELECT antes de INSERT / UPDATE.
Ausência de características de atomicidade por não ser necessário fazer verificações de integridade referencial, nem travar as tabelas para realizar as operações, o que nos leva, como os pontos anteriores, a uma velocidade maior.
O mecanismo de armazenamento (storage-engine) é responsável por armazenar, manipular e recuperar informações de uma tabela. Os motores mais conhecidos são MyISAM e InnoDB. A escolha de um ou outro dependerá muito do cenário em que é aplicado, mas arsys.es quer nos ajudar a entender melhor esses mecanismos de armazenamento bem conhecidos.
A escolha visa atingir a melhor relação de qualidade de acordo com a nossa aplicação. Se precisarmos de transações, chaves estrangeiras e bloqueios, teremos que escolher InnoDB. Ao contrário, escolheremos MyISAM nos casos em que predominam as consultas SELECT ao banco de dados.
O InnoDB fornece ao MySQL um mecanismo de armazenamento transacional (compatível com ACID) com recursos de confirmação, reversão e recuperação de falhas. O InnoDB executa bloqueios em nível de linha e também fornece funções de leitura consistentes sem bloqueio no estilo Oracle em instruções SELECT. Esses recursos aumentam o desempenho e a capacidade de gerenciar vários usuários simultâneos. Um bloqueio escalonado não é necessário no InnoDB porque os bloqueios em nível de linha ocupam muito pouco espaço. InnoDB também suporta restrições FOREIGN KEY. Em consultas SQL, mesmo dentro da mesma consulta, tabelas do tipo InnoDB podem ser incluídas livremente com tabelas de outros tipos.
MyISAM é o mecanismo padrão. Para criar uma tabela InnoDB, a opção ENGINE = InnoDB ou TYPE = InnoDB deve ser especificada na instrução SQL de criação da tabela:
CREATE TABLE clientes (a INT, b CHAR (20), INDEX (a)) ENGINE = InnoDB; CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB;

Vantagens de usar InnoDB
Suporte de transações, procedimentos armazenados, gatilhos
Bloqueio de registros
Permite-nos ter as características ACID (Atomicidade, Consistência, Isolamento e Durabilidade: Atomicidade, Consistência, Isolamento e Durabilidade em espanhol), garantindo a integridade das nossas placas.
É provável que se nosso aplicativo fizer um alto uso de INSERT e UPDATE, notaremos um aumento no desempenho em comparação com MyISAM.
Vantagens de usar MyISAM
Recuperação de dados geral mais rápida.
Recomendado para aplicativos que dominam as instruções SELECT antes de INSERT / UPDATE.
Ausência de características de atomicidade uma vez que não tem que fazer verificações de integridade referencial, ou travar as tabelas para realizar as operações, isso nos leva, como os pontos anteriores, a uma velocidade maior.
Sua tabela receberá INSERT, UPDATE e DELETE por muito mais tempo do que será consultada?
Você prefere ou requer um design de banco de dados relacional?
É conveniente usar InnoDB
Você precisará fazer pesquisas de texto completo?
O espaço em disco ou a memória são um problema?

Seu motor deve ser MyISAMGostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave