ventajas transacciones tablas soporta motor migradas glpi ejemplos datos cambiar mysql database database-schema

mysql - transacciones - myisam vs innodb ventajas



Cuándo usar MyISAM e InnoDB? (2)

Lea sobre los motores de almacenamiento .

MyISAM:

El motor de almacenamiento MyISAM en MySQL.

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

InnoDB:

El InnoDB almacenamiento InnoDB en MySQL.

  • Soporte para transacciones (brindándole soporte para la propiedad ACID ).
  • Nivel de fila de bloqueo. Tener un mecanismo de bloqueo de grano más fino le da una mayor concurrencia en comparación con, por ejemplo, MyISAM .
  • Restricciones de clave foránea Permitiéndole dejar que la base de datos garantice 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.
  • Soporte para grandes grupos de búferes para datos e índices. El buffer de teclas 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 externas y eliminaciones / actualizaciones en cascada
  • Sin integridad transaccional (cumplimiento ACID)
  • Sin habilidades de reversión
  • 4,284,867,296 límite de fila (2 ^ 32) - Este es el valor predeterminado anterior . El límite configurable (para muchas versiones) ha sido de 2 ** 56 bytes.
  • Máximo de 64 índices por mesa

Limitaciones de InnoDB:

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

Para una comprensión breve, lea los enlaces a continuación:

  1. Motores MySQL: InnoDB vs. MyISAM: una comparación de pros y contras
  2. Motores MySQL: MyISAM vs. 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!

Esta pregunta ya tiene una respuesta aquí:

MyISAM está diseñado con la idea de que su base de datos se consulta mucho más de lo que se actualiza y, como resultado, realiza operaciones de lectura muy rápidas. Si su ratio de lectura para escribir (insertar | actualizar) es inferior al 15%, es mejor utilizar MyISAM.

InnoDB utiliza el bloqueo de nivel de fila, tiene funciones de compromiso, retrotracción y recuperación de fallos para proteger los datos del usuario. Admite transacciones y tolerancia a fallas

arriba las diferencias son correctas entre MyISAM e InnobDB? por favor guía si hay otras limitaciones para MYISAM e InnobDB. ¿Cuándo debería usar MyiSAM o cuándo Innodb? ¡Gracias!


Use MyISAM para datos sin importancia o si realmente necesita esas ventajas mínimas de rendimiento. El rendimiento de lectura no es mejor en todos los casos para MyISAM.

Personalmente nunca más usaría MyISAM. Elija InnoDB y arroje un poco más de hardware si necesita más rendimiento. Otra idea es mirar los sistemas de bases de datos con más características como PostgreSQL, si corresponde.

EDITAR : para el rendimiento de lectura, este enlace muestra que innoDB a menudo no es más lento que MyISAM: http://www.mysqlperformanceblog.com/2007/01/08/innodb-vs-myisam-vs-falcon-benchmarks-part-1/