3USD tu primer mes de Premium 馃槺 Canjear promo No me interesa

notifications Notificaciones

Marcar todas como le铆das

Ver m谩s

Obt茅n acceso ilimitado a 茅ste y todos nuestros cursos con tu suscripci贸n Premium

Motores de almacenamiento en MySQL

Abrir temario playlist_play

Lo lees en 2 Min.

Afortunadamente para nosotros, los administradores de base de datos, MySQL nos permite trabajar con diferentes motores de almacenamiento, entre los que destacan MyISAM e InnoDB.

驴Motor de almacenamiento?, 驴Qu茅 es eso? 馃, ver谩s, un motor de almacenamiento se el encargado de almacenar, gestionar y recuperar toda la informaci贸n de una tabla. Es por ello que es de suma importancia que nosotros conozcamos la existencia de estos motores, cuales son sus principales diferencias y en qu茅 casos es bueno utilizar uno u otro, de esta forma que podamos garantizar un mejor performance en nuestras aplicaciones. 馃槈

Para que nosotros conozcamos que motor de almacenamiento podemos utilizar basta con ejecutar la siguiente sentencia en nuestra terminal.

SHOW ENGINES;

Obtendremos el siguiente listado.

  • InnoDB
  • MRG_MYISAM
  • MEMORY
  • BLACKHOLE
  • MyISAM
  • CSV
  • ARCHIVE
  • PERFORMANCE_SCHEMA
  • FEDERATED

En esta ocasi贸n nos centraremos en explicar los dos motores de almacenamiento m谩s populares, me refiero a MyISAM e InnoDB.

MyISAM es el motor por default de MySQL. Una de las principales ventajas de este motor es la velocidad al momento de recuperar informaci贸n. MyISAM es una excelente opci贸n cuando las sentencias predominantes en nuestra aplicaci贸n sean de consultas. Esta es una de las razones por las cuales MyISAM es tan popular en aplicaciones web.

Si tu aplicaci贸n necesita realizar b煤squedas full-text MyISAM es un mejor opcion.

La principal desventajas de MyISAM recae en la ausencia de atomocidad, ya que no se comprueba la integridad referencial de los datos. Se gana tiempo en la inserci贸n, s铆, pero perdemos confiabilidad en los datos.

Por otro lado tenemos el motor de almacenamiento InnoDB. La principal ventaja de este motor recae en la seguridad de las operaciones. InnoDB permite la ejecuci贸n de transacciones, esto nos garantiza que los datos se persisten de forma correcta y si existe alg煤n error podamos revertir todos los cambios realizados.

Algo interesante a mencionar sobre InnoDB es que este motor realiza un bloqueo total sobre un tabla cuando es ejecutada una se las siguientes sentencias.

  • Select
  • Insert
  • Update
  • Delete

Si deseamos trabajar con transacci贸n y la integridad de los datos sea crucial nuestra mejor opci贸n ser谩 InnoDB, por otro lado, s铆 lo que deseamos es una mayor rapidez al momento de obtener informaci贸n ser谩 necesario utilizar MyISAM.

Gesti贸n

Si nosotros as铆 lo deseamos podemos cambiar el motor de almacenamiento. Existen dos formas de hacer esto. La primera, es modificar el archivo my.cnf.

[mysqld]
default-storage-engine = innodb

La segunda forma es hacerlo directamente desde nuestra secci贸n, basta con ejecutar la siguiente sentencia.

SET storage_engine=INNODB;

En ambos casos modificamos el motor de almacenamiento de MyISAM a InnoDB.


Si nosotros deseamos conocer qu茅 motor de almacenamiento utiliza una tabla en particular, podemos hacerlo ejecutando la siguiente sentencia.

SHOW TABLE STATUS WHERE `Name` = 'tabla' \G;

Si deseamos crear una tabla utilizando un motor en particular, debemos seguir la siguiente estructura.

CREATE TABLE tabla_innodb (id int, value int) ENGINE=INNODB;
CREATE TABLE tabla_myisam (id int, value int) ENGINE=MYISAM;
CREATE TABLE tabla_default (id int, value int);

Acerca del curso

Aprende a fondo a manejar una base de datos relacional y conoce a detalle el lenguaje SQL.

Las bases de datos est谩n presentes en todos los sistemas del mundo, ya sea que vayas a construir una plataforma web, un programa de inventario, ventas, una app m贸vil, o lo que se te ocurra, hay una base de informaci贸n presente.

En este curso te llevamos desde los fundamentos de las bases de datos, hasta los temas m谩s interesantes como relaciones, transacciones, c谩lculos, consultas, funciones y mucho m谩s.

Es un curso muy completo para que conozcas a fondo el lenguaje SQL y aprendas a manejar con confianza bases de datos relacionales.