sql >> Base de Datos >  >> RDS >> Mysql

Tablas MyISAM e InnoDB en una base de datos

En estos días, siempre uso por defecto InnoDB, especialmente en las tablas de escritura intensiva que mencionas, donde MyISAM sufre un bloqueo completo de la tabla. Aquí hay una comparación directa.

Razones para usar MyISAM:

  • Las mesas son realmente rápidas para cargas pesadas seleccionadas
  • Los bloqueos de nivel de tabla limitan su escalabilidad para entornos multiusuario intensivos en escritura.
  • Menor consumo de espacio en disco
  • Índice de texto completo
  • Tablas fusionadas y comprimidas.

Razones para usar InnoDB:

  • Transacciones ACID
  • Bloqueo de nivel de fila
  • Lecturas consistentes:le permite alcanzar una excelente simultaneidad de lectura y escritura.
  • Clustering de clave principal:ofrece un rendimiento excelente en algunos casos.
  • Compatibilidad con clave externa.
  • Tanto el índice como las páginas de datos se pueden almacenar en caché.
  • Recuperación automática tras fallos:en caso de que el cierre de MySQL no esté limpio, las tablas de InnoDB seguirán recuperando el estado coherente. No es posible que requiera comprobación/reparación como MyISAM.
  • Todas las actualizaciones deben pasar por el motor transaccional de InnoDB, que a menudo disminuye el rendimiento en comparación con los motores de almacenamiento no transaccional.

Lo anterior fue tomado de este sitio , que parece que ya no funciona.