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

¿Cuándo usar MyISAM e InnoDB?

Lea acerca de Motores de almacenamiento .

MiISAM:

El MyISAM motor de almacenamiento en MySQL.

  • Más simple de diseñar y crear, por lo tanto, mejor para principiantes. No se preocupe por las relaciones exteriores entre tablas.
  • Más rápido que InnoDB en general como resultado de la estructura más simple, por lo tanto, mucho menos costos de recursos del servidor. -- Mayormente ya no es cierto.
  • Indización de texto completo. -- InnoDB lo tiene ahora
  • Especialmente bueno para tablas de lectura intensiva (seleccionadas). -- Mayormente ya no es cierto.
  • La huella del disco es 2x-3x menor que la de InnoDB. -- A partir de la versión 5.7, esta es quizás la única ventaja real de MyISAM.

InnoDB:

El InnoDB motor de almacenamiento en MySQL.

  • Soporte para transacciones (brindándole soporte para ACID propiedad).
  • Bloqueo a nivel de fila. Tener un mecanismo de bloqueo más detallado le brinda una mayor concurrencia en comparación con, por ejemplo, MyISAM .
  • Restricciones de clave externa. Permitiéndole dejar que la base de datos asegure la integridad del estado de la base de datos y las relaciones entre las tablas.
  • InnoDB es más resistente a la corrupción de tablas que MyISAM.
  • Compatibilidad con grandes grupos de búferes para datos e índices. El búfer de clave MyISAM es solo para índices.
  • MyISAM está estancado; todas las mejoras futuras estarán en InnoDB. Esto quedó muy claro con el lanzamiento de la Versión 8.0.

Limitaciones de MyISAM:

  • Sin claves foráneas y eliminaciones/actualizaciones en cascada
  • Sin integridad transaccional (conformidad con ACID)
  • Sin habilidades de reversión
  • 4,284,867,296 límite de filas (2^32) -- Este es el predeterminado antiguo . El límite configurable (para muchas versiones) ha sido de 2**56 bytes.
  • Máximo de 64 índices por tabla

Limitaciones de InnoDB:

  • Sin indexación de texto completo (versión inferior a 5.6 mysql)
  • No se puede comprimir para rápido, solo lectura (5.5.14 introdujo ROW_FORMAT=COMPRESSED )
  • No puede reparar una tabla InnoDB

Para una breve comprensión, lea los siguientes enlaces:

  1. Motores MySQL:InnoDB vs. MyISAM:una comparación de pros y contras
  2. Motores MySQL:MyISAM frente a InnoDB
  3. ¿Cuáles son las principales diferencias entre InnoDB y MyISAM?
  4. MyISAM versus InnoDB
  5. ¿Cuál es la diferencia entre MyISAM e InnoDB?
  6. MySql:MyISAM vs Inno DB!