Via Network » MyISAM vs InnoDB

MyISAM vs InnoDB

MySQL 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 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.



Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <em> <strong>