sql >> Base de Datos >  >> RDS >> Mysql

Cómo comprobar el tamaño de una base de datos en MySQL

En MySQL, puede consultar el information_schema.tables table para devolver información sobre las tablas en una base de datos. Esta tabla incluye información sobre la longitud de los datos, la longitud del índice, así como otros detalles como la intercalación, el tiempo de creación, etc. Puede usar la información de esta tabla para encontrar el tamaño de una base de datos dada o de todas las bases de datos en el servidor.

También puede usar la GUI de MySQL Workbench para encontrar detalles sobre la base de datos (incluido su tamaño).

Este artículo proporciona una descripción general rápida de ambos métodos.

Ejemplo de código

Aquí hay un ejemplo de cómo encontrar el tamaño de cada base de datos ejecutando una consulta en information_schema.tables tabla:

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 |             0 |        0.00 |
| Music              |         98304 |        0.09 |
| mysql              |       2506752 |        2.39 |
| performance_schema |             0 |        0.00 |
| sakila             |       6766592 |        6.45 |
| Solutions          |         16384 |        0.02 |
| sys                |         16384 |        0.02 |
| world              |        802816 |        0.77 |
+--------------------+---------------+-------------+

En este ejemplo, enumeré el tamaño en bytes y en mebibytes (MiB), pero puede elegir cómo desea presentarlo.

Por supuesto, siempre puede reducirlo a una base de datos específica si lo necesita. Simplemente agregue un WHERE cláusula con el nombre de la base de datos:

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 = 'sakila';

Resultado:

+---------------+---------------+-------------+
| Database Name | Size in Bytes | Size in MiB |
+---------------+---------------+-------------+
| sakila        |       6766592 |        6.45 |
+---------------+---------------+-------------+

Función FORMAT_BYTES()

Puede usar sys.FORMAT_BYTES() función para ahorrarse la conversión del tamaño en mebibytes, kibibytes, o lo que sea. Esta función toma un valor, lo convierte a un formato legible por humanos y devuelve una cadena que consta de un valor y un indicador de unidades. El valor convertido dependerá del tamaño del valor (por lo que el resultado podría estar en bytes , KiB (kibibytes), MiB (mebibytes), GiB (gibibytes), TiB (tebibytes) o PiB (pebibytes).

Aquí hay un ejemplo de reescribir el ejemplo anterior para usar FORMAT_BYTES() función:

USE Music;
SELECT 
    table_schema 'Database Name',
    SUM(data_length + index_length) 'Size in Bytes',
    sys.FORMAT_BYTES(SUM(data_length + index_length)) 'Size (Formatted)'
FROM information_schema.tables 
GROUP BY table_schema;

Resultado:

+--------------------+---------------+------------------+
| Database Name      | Size in Bytes | Size (Formatted) |
+--------------------+---------------+------------------+
| information_schema |             0 | 0 bytes          |
| Music              |         98304 | 96.00 KiB        |
| mysql              |       2506752 | 2.39 MiB         |
| performance_schema |             0 | 0 bytes          |
| sakila             |       6766592 | 6.45 MiB         |
| Solutions          |         16384 | 16.00 KiB        |
| sys                |         16384 | 16.00 KiB        |
| world              |        802816 | 784.00 KiB       |
+--------------------+---------------+------------------+

Mesa de trabajo MySQL

Otra forma de encontrar el tamaño de la base de datos es usar la GUI de MySQL Workbench. Así es como:

  1. Navegue a la base de datos en Schemas panel
  2. Pase el cursor sobre la base de datos correspondiente
  3. Haga clic en el pequeño icono de información junto al nombre de la base de datos. Esto carga información sobre la base de datos, incluido su tamaño aproximado, número de tablas, intercalación, etc. El tamaño de la base de datos aparece en la Info pestaña (generalmente la pestaña predeterminada).