Tipos de tablas en MySQL

Empezaremos explicando qué es una tabla en base de datos

En bases de datos, una tabla es el lugar donde se almacenan datos, que tienen características similares y conforman la estructura de la base de datos.

Los datos que pertenecen a un mismo elemento se organizan en columnas o campos. Estos tienen datos del mismo tipo. Se llama registro, a cada una de las filas o tuplas, que forman una tabla.

database

Motivos para crear tablas en MySQL

En función de las necesidades que tengas puedes crear diversos tipos de tablas en MySQL. Pongamos unos ejemplos para entenderlo mejor:

Mayor velocidad

En el caso de necesitar una mayor velocidad tienes la posibilidad de cargar las tablas en la RAM del servidor, de esta manera se aprovecharía mucho más todo el potencial.

Mayor espacio

Si lo que necesitas es tener más espacio tendrás que ahorrarlo de alguna manera. Para hacerlo MySQL tiene que comprimir las tablas. Otra opción, es que simplemente queramos tener un sistema para almacenar datos, sin más, y nos de igual tanto nivel de detalle.

contratar hosting

Tipos de tablas base de datos

A continuación vamos a nombrar los diferentes tipos de tablas de base de datos.

ISAM (Método de Acceso Secuencial Indexado)

Es el método para almacenar información más antiguo de los que vamos a ver, y ya ha sido sustituido, ya que se quedaban limitadas al no poder manejar ficheros de tablas superiores a 4GB. Sin embargo, mejoran el espacio y la velocidad.

Como ya hemos comentado han sido sustituidas/actualizdas con MyISAM, que vamos a ver a continuación.

MyISAM

Es la evolución de ISAM, mejora la velocidad y la optimización del espacio. Además, es el tipo predeterminado de tablas que utiliza MySQL. En el caso de que intentes crear otro tipo específico de tablas (y en caso de que MySQL no pueda crearlas), MySQL creará este tipo de tablas.

Otra característica, es que si realizas una inserción o actualización de un registro de la tabla, MySQL bloquea la tabla hasta que se complete la tarea. Por lo que nadie más podrá hacer actualizaciones o inserciones durante ese tiempo.

*Excepción: si instalas MySQL en Windows con el asistente,se  creará de manera predeterminada tabla InnoDB

InnoDB

El bloqueo se hace por registro. Cuando se realiza una inserción o actualización del registro de una tabla de este tipo, únicamente se bloquea ese registro y no la tabla, como sucedía en MyISAM. Por lo que otros usuarios podrán hacer uso de manera simultánea de la base de datos.

También hace control de transacciones, para entenderlo imaginemos la tabla de clientes de un banco, en el que se transfiere dinero de un cliente a otro, para ello se deben completar dos pasos:

  1. La cantidad debe sumarse en la cuenta de destino
  2. Restarse en la de origen.

En caso de interrupción de la energía del servidor, no podría quedarse a medias el proceso ya que la transacción (los dos pasos) deben cumplirse. Por lo tanto la transacción o se completa o no.

Las características de este tipo de tablas, hacen restar un poco de velocidad a MySQL.

Heap

Este tipo de tablas, se almacenan en la memoria RAM directamente, lo que las hace extremadamente rápidas. El inconveniente es que la memoria RAM es volátil, es decir, que cuando se apaga la máquina la información que había almacenada en la RAM desaparece.

No obstante, si los datos de la base de datos no van a cambiar, se puede tener una copia en una tabla MyISAM.

Merge

En el caso de tener tablas de un tamaño gigante, podemos dividir tablas de tipo MyISAM con esta funcionalidad. Así conseguiremos mayor velocidad al hacer las consultas. Para hacer esta división, se requiere que las tablas tengan una estructura idéntica, entre ellas.

contratar hosting

Hasta aquí nuestro repaso a diferentes tablas de base de datos que puedes utilizar bien para conseguir una mayor velocidad o ampliar el espacio.

¡Te animamos a comentar si tienes alguna duda y a valorar el artículo!

Comparte este tutorial:

No hay comentarios en este tutorial

Sé el primero en enviar un comentario: