Mysql Motores de bases de datos
Sumario
Introducción
- Lo primero que tendremos que preguntarnos leyendo el título de este punto es ¿ qué es un motor de bases de datos ?
- Resumiendo podemos decir que un motor determina la forma física en cómo los datos son guardados en disco y además cada motor ofrece una serie de ventajas relativas a los tipos de datos que pueden guardar, tipos de índices, velocidad de acceso y soporte de diferentes características como puede ser el uso de transacciones, integridad referencial,...
- En la imagen siguiente podemos ver en la capa más cercana al almacenamiento físico de los datos los diferentes motores (Imagen obtenida de Universidad De Gerona - Administracion De Bases De Datos Mysql 5):
- MYISAM Storage Engine
- MEMORY Storage Engine
- CSV Storage Engine
- ARCHIVE Storage Engine
- BLACKHOLE Storage Engine
- MERGE Storage Engine
- FEDERATED Storage Engine
- EXAMPLE Storage Engine
- INNODB Storage Engine
- NDB Storage Engine
- A partir de la versión Mysql 5.7 el motor por defecto cuando se crean las tablas es INNODB.
- Además la base de datos Mysql deja de ser MyIsam y pasa a ser Innodb.
- Más información:
Órdenes SQL relacionadas con el manejo de los motores
- Para ver cuales son los motores que puede soportar el servidor Mysql (algunos pueden estar desactivados o no compilados), disponemos de la orden SQL: SHOW ENGINES;.
- Podemos ver cual es la salida de ejecutar esta orden:
- En esta primera gráfica ya podemos advertir como el motor INNODB posee una serie de funcionalidades que no tienen los demás. Las analizaremos cuando comentemos dicho motor.
- Para crear una tabla con un motor determinado tendremos que ejecutar la orden SQL CREATE TABLE de la forma: CREATE TABLE nombre_tabla (col1 tipo1, col2 tipo2,....coln tipon) ENGINE=MYISAM;
- Por defecto, a partir de la versión 5.7 el motor por defecto es INNODB. Anteriormente era MYISAM.
- Para modificar el motor de una tabla tenemos que ejecutar la orden SQL ALTER TABLE: ALTER TABLE nombre_tabla ENGINE = MYISAM;
- Para ver cual es el motor de una tabla tenemos que ejecutar la orden SQL SHOW TABLE STATUS: SHOW TABLE STATUS WHERE Name = 'nombre_tabla';
Variables del sistema relacionadas con los motores de bases de datos
- default-storage-engine: Determina el motor de bases de datos por defecto.
- disabled_storage_engines: Determina que motores de bases de datos no pueden ser utilizados.
- default_tmp_storage_engine: Determina el motor de bases de datos por defecto para tablas temporales.
Motor MyISAM
Motor InnoDB
- Características:
-- Ángel D. Fernández González -- (2017).