Você deve converter todos os dados para o InnoDB para evitar problemas de bloqueio de tabela. No entanto, aqui estão algumas coisas para pensar:
Indexação FULLTEXT
No momento, apenas o MyISAM suporta a indexação FULLTEXT. A indexação do FULLTEXT para o InnoDB está atualmente em andamento para o MySQL 5.6, mas não está pronta para produção . Se você tiver alguma tabela Drupal que possua índices FULLTEXT, ela não poderá ser convertida no InnoDB no momento.
UPDATE na indexação FULLTEXT
O MySQL 5.6 agora é GA (disponível para uso em produção). Por favor, tente a indexação FULLTEXT no InnoDB.
Para localizar as tabelas que possuem um FULLTEXT
índice, execute esta consulta:
SELECT table_schema,table_name
FROM information_schema.statistics
WHERE index_type='FULLTEXT';
Se nenhuma linha retornar, converta todas as tabelas do InnoDB para o conteúdo do seu coração. Eu escrevi um post anterior sobre como converter todas as tabelas MyISAM para InnoDB usando apenas mysql .
Replicação MySQL
Se você tiver um ambiente com muita leitura, as leituras podem ser mais rápidas no MyISAM se você fizer o seguinte:
- Configurar Replicação Mestre / Escravo
- Crie um ou mais Read Slaves sob o Master
- Adicione
--skip-innodb
/etc/my.cnf em todos os Slaves (converte tabelas para MyISAM ao carregar dados no Slave)
- Mude o formato da linha de todas as tabelas MyISAM em todos os Slave para FIXED por este comando:
ALTER TABLE tblname ROW_FORMAT=FIXED;
- Postei algo sobre isso no DBA StackExchange
- O livro MySQL Database Design and Tuning recomenda o uso
ROW_FORMAT=FIXED
nas páginas 72,73. Isso converterá internamente todos os campos VARCHAR em CHAR. Isso aumentará a tabela MyISAM, mas os SELECTs executados serão muito mais rápidos. Eu pessoalmente posso atestar isso. Certa vez, tive uma mesa com 1,9 GB. Eu mudei o formato com ALTER TABLE tblname ROW_FORMAT=FIXED
. A tabela acabou com 3,7 GB. A velocidade dos SELECTs foi 20-25% mais rápida sem melhorar ou alterar qualquer outra coisa.
A única dor de cabeça com isso é tornar seu aplicativo ciente de escravos de leitura separados.
EPÍLOGO
Se você estiver procurando outros benefícios que cada mecanismo de armazenamento possui, verifique o DBA StackExchange: