En MariaDB, podemos consultar el information_schema.tables
tabla para comprobar el tamaño de una base de datos.
Esta tabla devuelve información sobre las tablas y vistas de cada base de datos del servidor. Podemos agrupar los resultados y devolver las cantidades agregadas para cada base de datos.
Ejemplo
Aquí hay una consulta que devuelve el tamaño de todas las bases de datos en el servidor:
SELECT
table_schema 'Database Name',
SUM(data_length + index_length) 'Size in Bytes',
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MiB'
FROM information_schema.tables
GROUP BY table_schema;
Resultado:
+--------------------+---------------+-------------+ | Database Name | Size in Bytes | Size in MiB | +--------------------+---------------+-------------+ | information_schema | 212992 | 0.20 | | KrankyKranes | 131072 | 0.13 | | Music | 81920 | 0.08 | | MyDB | 32768 | 0.03 | | mysql | 4972544 | 4.74 | | performance_schema | 0 | 0.00 | | PetHouse | 81920 | 0.08 | | Zap | 37460 | 0.04 | +--------------------+---------------+-------------+
Tél information_schema.tables
La tabla muestra información sobre los diversos no TEMPORARY
tablas (excepto tablas del Information Schema
base de datos) y vistas en el servidor.
Aquí, los agrupé por base de datos (table_schema
) y realizó algunos cálculos sobre los tamaños.
Base de datos única
Podemos reducirlo a una sola base de datos con un WHERE
cláusula:
SELECT
table_schema 'Database Name',
SUM(data_length + index_length) 'Size in Bytes',
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MiB'
FROM information_schema.tables
WHERE table_schema = 'KrankyKranes'
GROUP BY table_schema;
Resultado:
+---------------+---------------+-------------+ | Database Name | Size in Bytes | Size in MiB | +---------------+---------------+-------------+ | krankykranes | 131072 | 0.13 | +---------------+---------------+-------------+
En MySQL, podemos usar sys.FORMAT_BYTES()
función para realizar la conversión de longitud de datos, pero al momento de escribir este artículo, MariaDB aún no ha implementado dicha función.