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

MySql:¡MyISAM frente a Inno DB!

La principal diferencia es que InnoDB admite transacciones mientras que MyISAM no.

Hay muchas otras diferencias, sin embargo, las más comunes que conozco son:

  • MyISAM generalmente se ha considerado más rápido en la búsqueda, pero las mejoras recientes de InnoDB están eliminando esta diferencia y mejorando el rendimiento de la carga de trabajo de alta simultaneidad
  • InnoDB admite transacciones mientras que MyISAM no
  • InnoDB admite integridad referencial mientras que MyISAM no
  • InnoDB maneja los índices de forma un poco diferente, almacenando la clave principal como parte de cada índice (lo que hace que los índices ocupen más espacio en el disco, pero también hace que sea más probable que haya un índice de cobertura)
  • MyISAM bloquea el nivel de tabla mientras que InnoDB puede bloquear el nivel de fila
  • Se utilizan diferentes configuraciones de memoria/búfer/índice en los archivos de configuración de MySQL
  • Por lo general, se dice que InnoDB tiene una mejor recuperación de fallas
  • Como se mencionó en otra respuesta, los datos se almacenan en el disco de manera diferente. Creo que InnoDB es configurable en esta área y puede tener un archivo por tabla, etc. si es necesario

Estoy seguro de que una búsqueda en Google o en el sitio de MySQL mostrará muchas otras diferencias con más detalle.