AOWS

Just another adrian’s weblog

MyISAM vs InnoDB

con 2 comentarios

MySQLMySQL soporta distintos tipos de tablas, entre los cuales destacan MyISAM e InnoDB. El primer tipo es el utilizado por defecto, aunque podemos cambiarlo cuando queramos.

Las principales ventajas de InnoDB sobre MyISAM son el soporte de transacciones, restricciones foráneas y bloqueo a nivel de fila. Nos permite pues tener las características ACID, garantizando la integridad de nuestras tablas y por tanto simplificando las recuperaciones ante posibles caídas del sistema.

Además, al permitir bloqueo a nivel de registro en lugar del bloqueo de tablas que implementa MyISAM, aumenta el rendimiento si nuestra aplicación hace un uso intensivo de sentencias INSERT o UPDATE.

Por contra, las ventajas de MyISAM pasan por una mayor velocidad (¿seguro?) a la hora de recuperar datos -es decir, mayor rendimiento ante mayoría de sentencias SELECT- y por permitir crear índices sobre campos de tipo text. Este mayor rendimiento se produce gracias al no comprobar la integridad referencial ni bloquear las tablas a la hora de realizar las operaciones -aunque con ello se prescinda de la atomicidad-. Para aplicaciones web -que suelen tener más consultas que operaciones de escritura- puede ser más que suficiente.

La elección pasa, como siempre, por conseguir la mejor relación calidad / precio. Si necesitamos transacciones, claves foráneas, bloqueo a nivel de fila o cualquier característica ACID, lo mejor será InnoDB. Si por el contrario no necesitamos nada de esto, o nuestra base de datos va a ser utilizada mayoritariamente para consulta, optaríamos por MyISAM.

Aspectos más técnicos como las diferencias a la hora de almacenar los datos, en la Wikipedia.

Escrito por adrian

20 Agosto, 2007 a 17:00

Escrito en Posts

Etiquetado con , ,

2 comentarios

Suscríbete a los comentarios mediante RSS.

  1. [...] cuestión a tener en cuenta es el motor de tablas a usar si trabajamos con MySQL: ¿MyISAM o InnoDB? Como siempre no hay una respuesta acertada y única: mayor velocidad MyISAM, mejor rendimiento a la [...]

  2. [...] Relacionado | MyISAM vs InnoDB [...]


Deja un comentario