Debe convertir todos los datos a InnoDB para evitar problemas de bloqueo de la tabla. Sin embargo, aquí hay algunas cosas para pensar:
Indexación FULLTEXT
En la actualidad, solo MyISAM admite la indexación FULLTEXT. La indexación de FULLTEXT para InnoDB está actualmente en proceso para MySQL 5.6 pero no está lista para producción . Si tiene tablas de Drupal que tienen índices FULLTEXT, no se pueden convertir a InnoDB en este momento.
ACTUALIZACIÓN sobre indexación FULLTEXT
MySQL 5.6 ahora es GA (fuera de uso de producción). Pruebe la indexación FULLTEXT en InnoDB.
Para localizar esas tablas que tienen un FULLTEXT
índice, ejecute esta consulta:
SELECT table_schema,table_name
FROM information_schema.statistics
WHERE index_type='FULLTEXT';
Si no vuelven filas, convierta todas las tablas de InnoDB al contenido de su corazón. Escribí una publicación anterior sobre cómo convertir todas las tablas MyISAM a InnoDB usando solo mysql .
Replicación MySQL
Si tiene un entorno de lectura pesada, las lecturas pueden ir más rápido en MyISAM si hace lo siguiente:
- Configurar la replicación maestra / esclava
- Crea uno o más esclavos de lectura bajo el maestro
- Agregue
--skip-innodb
/etc/my.cnf en todos los esclavos (convierte las tablas a MyISAM al cargar datos en el esclavo)
- Cambie el formato de fila de todas las tablas MyISAM en cada Esclavo a FIJO mediante este comando:
ALTER TABLE tblname ROW_FORMAT=FIXED;
- Publiqué algo sobre esto en el DBA StackExchange
- El libro MySQL Database Design and Tuning recomienda usarlo
ROW_FORMAT=FIXED
en las páginas 72,73. Esto convertirá internamente todos los campos VARCHAR a CHAR. Aumentará la tabla MyISAM, pero los SELECT ejecutados en ella serán mucho más rápidos. Personalmente puedo dar fe de esto. Una vez tuve una mesa de 1.9GB. Cambié el formato con ALTER TABLE tblname ROW_FORMAT=FIXED
. La mesa terminó 3.7GB. La velocidad de los SELECT contra ella fue 20-25% más rápida sin mejorar ni cambiar nada más.
El único dolor de cabeza con esto es hacer que su aplicación sea consciente de los esclavos de lectura separados.
EPÍLOGO
Si está buscando otros beneficios que tiene cada motor de almacenamiento, consulte el DBA StackExchange: