Busca


imprimir pdf Portuguese

Os motores de tabelas MySQL


MyISAM


MyISAM é um tipo por defeito de tabela em MySQL versão 3.23. Está baseadá sobre ISAM e adiciona várias extensões práticas.

Cada tabela MyISAM está armazenada em três ficheiros. Os ficheiros tem o nome da tabela, e tem uma extensão que especifica o tipo de ficheiro. O ficheiro .frm armazena a definição da tabela. O índice está armazenado no ficheiro com a extensão .MYI (MYIndex), e os dados armazenados num ficheiro com a extensão .MYD (MYData).

Para especificar explicitamente que deseja uma tabela :
CREATE TABLE t (i INT) ENGINE = MYISAM;
CREATE TABLE t (i INT) TYPE = MYISAM;


Normalmente, as opções ENGINE e TYPE são inúteis: MyISAM é um tipo por defeito de tabela em MySQL, a não ser que tenha sido especificado de outra maneira.

InnoDB


InnoDB fornece ao MySQL um gestor de tabela transaccional (compatível ACID), com validação (commits), anulações (rollback) e capacidade de restauração após crash. InnoDB utiliza um bloqueio de linhas, e fornece leituras coerentes como Oracle, sem bloqueio. Estas funcionalidades aumentam as possibilidades de utilização simultâneas das tabelas, e as capacidades. Não há problema de fila de espera de bloqueio com InnoDB, porque os bloqueios de linhas utilizam pouco espaço. As tabelas são as primeiras tabelas MySQL que suportam as limitações de chaves estrangeiras (FOREIGN KEY).

InnoDB é utilizado na produção de vários sites em que grandes capacidades de armazenamento e de capacidades são requeridas. O famoso site web Slashdot.org utiliza InnoDB. Mytrix, Inc. armazena mais de 1T de dados numa base de dados InnoDB, e outros sites gerem uma média de 800 inserções/modificações por segundos com InnoDB.