Actualizado el 14-01-2007
versión para imprimir
Tipos de tablas en MySQL
- ISAM.- es el formato de almacenaje mas antiguo, y posiblemente pronto desaparecerá. Presentaba limitaciones (los ficheros no eran transportables entre máquinas con distinta arquitectura, no podía manejar ficheros de tablas superiores a 4 gigas). Si aun tienes tablas tipo ISAM, cambialas a MYISAM ya!
- MYISAM.- es el tipo de tabla por defecto en MySQL desde la versión 3.23. Optimizada para sistemas operativos de 64 bits, permite ficheros de mayor tamaño que ISAM. Además los datos se almacenan en un formato independiente, con lo que se pueden copiar tablas de una máquina a otra de distinta plataforma. Posibilidad de indexar campos BLOB y TEXT
- HEAP.- Crea tablas en memoria. Son temporales y desaparecen cuando el servidor se cierra; a diferencia de una tabla TEMPORARY, que solo puede ser accedida por el usuario que la crea, una tabla HEAP puede ser utilizada por diversos usuarios.
- BDB.- Base de datos Berkeley. TST. Solo en MySQL MAX
- INNODB.- TST, ACID, con posibilidad de commit, rollback, recuperación de errores y bloqueo a nivel de fila.
- MERGE mas que un tipo de tabla es la posibilidad de dividir tablas MYISAM de gran tamaño (solo útil si son verdaderamente de GRAN tamaño) y hacer consultas sobre todas ellas con mayor rapidez. Las tablas deben ser myisam e idénticas en su estructura.
Con MySQL puedes variar el tipo de tabla después de creada
TST se refiere a 'Transactions safe tables', o tablas para transacciones seguras. A este tipo pertenecen DBD y INNODB.
Las tablas tipo TST son menos rápidas y ocupan mas memoria, pero a cambio ofrecen mayor seguridad frente a fallos durante la consulta.
Aunque ya disponibles, imagino que las tablas TST solo se popularizarán cuando el uso de la versión 4.0 de MySQL se generalice (actualmente en fase gamma)
Las tablas TST permiten ir introduciendo consultas y finalizar con un COMMIT (que las ejecuta) o ROLLBACK (que ignora los cambios)
ACID es un acrónimo de atomicidad, consistencia, separacion (isolation) y durabilidad. Por atomicidad se quiere significar que son posibles consultas complejas tratadas como una sola, de tal forma que solo se ejecutan cuando todas ellas tienen éxito, en caso de que alguna falle no se ejecuta ninguna. Consistencia significa que solo datos válidos pueden ser escritos en la base de datos. Si se ejecuta una transacción que compromete la consistencia interna de la base de datos, toda la transacción debe deshacerse. Por isolation se entiende que las transacciones que tengan lugar simultaneamente deben ejecutarse aisladas unas de otras hasta que finalizan. Y durabilidad, la garantía de que una transacción enviada a la base de datos no se perderá aunque la transacción sea interrumpida por cualquier motivo.