AOWS

Just another adrian’s weblog

MyISAM vs InnoDB

with 2 comments

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.

Written by adrian

20 agosto, 2007 a 17:00

Publicado en Posts

Tagged with , ,

2 comentarios

Subscribe to comments with 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 […]


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: