Escolar Documentos
Profissional Documentos
Cultura Documentos
• ISAM
• MyISAM
• InnoDB
• DBD (Berkeley Database)
El servidor de bases de datos MySQL soporta distintos tipos de tablas, como
las antes mencionadas, de éstas, InnoDB y MyISAM merecen una atención
especial y mencionaremos algunas diferencias.
Las tablas del tipo InnoDB están estructuradas de forma distinta que MyISAM,
ya que se almacenan en un sólo archivo en lugar de tres, y sus principales
características son que permite trabajar con transacciones, y definir reglas de
integridad referencial.
Las transacciones aportan una fiabilidad superior a las bases de datos. Si
disponemos de una serie de consultas SQL que deben ejecutarse en conjunto,
con el uso de transacciones podemos tener la certeza de que nunca nos
quedaremos a medio camino de su ejecución.
Para este fin, las tablas que soportan transacciones, como es el caso de
InnoDB, son mucho más seguras y fáciles de recuperar si se produce algún
fallo en el servidor, ya que las consultas se ejecutan o no en su totalidad. Por
otra parte, las transacciones pueden hacer que las consultas tarden más
tiempo en ejecutarse.
Por ejemplo:
Al ejecutar sentencias de modificación de datos SQL en MyISAM, y se produce
algún corte en la conexión y las consultas no se han ejecutado completamente,
puede que queden sólo parte de los registros actualizados y no sabremos qué
registros no se han actualizado.
En cambio, utilizando InnoDB, si se produce un corte mientras se ejecuta la
consulta SQL no se aplicarán los cambios y podremos volver a ejecutarla, es
decir, garantiza que una transacción se ejecute íntegramente, de lo contrario la
anula.
MyISAM no permite integridad referencial (uso de claves foráneas para
“enlazar” varias tablas), en cambio InnoDB sí permite este tipo de relaciones.
InnoDB es más eficiente que MyISAM en cuanto a tiempos de respuesta para
operaciones habituales, tales como INSERT, UPDATE, etc.
* Las tablas MyISAM son más simples, por lo tanto si eres nuevo
con MySQL o con las bases de datos en general es mucho más
recomendable que InnoDB.
* Bloqueo de tablas
* Nos permite tener las características ACID (Atomicity,
Consistency, Isolation and Durability: Atomicidad, Consistencia,
Aislamiento y Durabilidad en español), garantizando la integridad de
nuestras tablas.
* Es probable que si nuestra aplicación hace un uso elevado de
SELECT notemos un aumento de rendimiento con respecto a InnoDB.
Ventajas de InnoDB
Desventajas de MyISAM
Desventajas de InnoDB