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

¿Debo usar tablas MyISAM o InnoDB para mi base de datos MySQL?

Utilice siempre InnoDB de forma predeterminada.

En MySQL 5.1 posterior, debe usar InnoDB. En MySQL 5.1, debe habilitar el complemento InnoDB . En MySQL 5.5, el complemento InnoDB está habilitado de forma predeterminada, así que utilícelo.

El consejo hace años fue que MyISAM era más rápido en muchos escenarios. Pero eso ya no es cierto si usa una versión actual de MySQL.

Puede haber algunos casos extremos exóticos en los que MyISAM funciona marginalmente mejor para ciertas cargas de trabajo (por ejemplo, escaneos de tablas o trabajo de solo INSERCIÓN de gran volumen), pero la opción predeterminada debería ser InnoDB a menos que pueda probar tienes un caso que MyISAM lo hace mejor.

Las ventajas de InnoDB además del soporte para transacciones y claves foráneas que generalmente se mencionan incluyen:

  • InnoDB es más resistente a la corrupción de tablas que MyISAM.
  • Bloqueo a nivel de fila. En MyISAM, los lectores bloquean a los escritores y viceversa.
  • Compatibilidad con grandes grupos de búferes para datos e índices. El búfer de clave MyISAM es solo para índices.
  • MyISAM está estancado; todo el desarrollo futuro estará en InnoDB.

Consulte también mi respuesta a MyISAM versus InnoDB