mysql

Límite de bases de datos y tablas en MySQL

Hoy andaba trabajando en un proyecto que incorpora múltiples bases de datos en un servidor de MySQL. La creación de la base de datos es dinámica, así como de las tablas.

No se sabe a ciencia cierta cuántas bases de datos se crearán, por lo que me vino a la mente cuál es el límite de bases de datos que puede tener un servidor, así como el número de tablas por cada base de datos.

Antes de todo, las referencias

Todo esto es sacado de aquí, así de simple. No me lo inventé yo ni investigué por un largo tiempo hasta dar con el resultado.

Límite de base de datos en MySQL

No hay límite del número de bases de datos que puede tener una instalación de MySQL, siempre y cuando el sistema operativo lo permita.

Recordemos que las bases de datos, al final de todo, son datos almacenados en el disco duro. El servidor de MySQL, por cada base de datos, crea un directorio o carpeta en el sistema.

Por lo tanto, aunque no hay límite de las bases de datos que podemos tener en MySQL, sí existe un límite en caso de que:

  • El sistema operativo no pueda manejar tantos directorios, o llegue al límite de inodes, número de archivos, etcétera
  • El disco duro se llene

Esto es como todos los límites, por ejemplo el de SQLite, que si bien su límite es de 140 terabytes, no hay un disco duro (que yo sepa) con esa capacidad, por lo tanto no se puede probar tan fácil si el límite es ese, además de que sería complicado llenar una base de datos con semejante información.

El límite de las tablas en MySQL

El único límite es el que impone el motor InnoDB, el cual únicamente permite 4 mil millones de tablas (dice 4 billion pero me parece que no es lo mismo que el billón que conocemos los hispanohablantes); de ahí, los otros motores no.

Igualmente por cada tabla se crean algunos directorios y se generan datos, por lo que si el sistema operativo tiene límites de archivos o directorios, no se podrán crear más tablas.

Lo mismo pasa con el almacenamiento; si el disco duro se llena, entonces nada más se puede hacer.

Otras cosas

Tener múltiples bases de datos puede ralentizar el acceso a las mismas, sobre todo por los directorios. Pero no te espantes, en la práctica casi no se ve.

Lo mejor, siempre, es probar por ti mismo y ver lo mejor para tu aplicación.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

2 días hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

1 semana hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

1 semana hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

1 semana hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

1 semana hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

1 semana hace

Esta web usa cookies.