Mysql Motores de bases de datos

De MediaWiki
Ir a la navegación Ir a la búsqueda

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):
Mysql motores 1.jpg
  • 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:
Mysql motores 2.jpg
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

Motor MyISAM

Motor InnoDB

  • Características:
Mysql motores 3.jpg
Imagen obtenida de http://dev.mysql.com





-- Ángel D. Fernández González -- (2017).