Ver el tamaño de los datos de la base de datos y de la tabla en MySQL

Ver el tamaño de los datos de la base de datos y de la tabla en MySQL

Insertar descripción de la imagen aquí

Al administrar y mantener una base de datos MySQL, es muy importante comprender el tamaño de los datos de la base de datos y las tablas. Esto puede ayudarle a monitorear el crecimiento de la base de datos, optimizar el rendimiento y planificar las necesidades de almacenamiento. Este blog presentará cómo utilizar consultas SQL para ver el tamaño de los datos de las bases de datos y tablas MySQL.

Verifique el tamaño total de los datos de la base de datos MySQL

Primero, aprenderemos cómo ver el tamaño total de los datos de toda la base de datos MySQL, incluidas todas las bases de datos. A continuación se muestra un ejemplo de consulta SQL:

-- 显示所有数据库的总计
SELECT
    '总和' AS `数据库`,
    '' AS `表名`,
    CONCAT(ROUND(SUM(table_rows) / 1000000, 2), 'M') AS `行数`,
    CONCAT(ROUND(SUM(data_length) / (1024 * 1024 * 1024), 2), 'GB') AS `数据大小`,
    CONCAT(ROUND(SUM(index_length) / (1024 * 1024 * 1024), 2), 'GB') AS `索引大小`,
    CONCAT(ROUND((SUM(data_length) + SUM(index_length)) / (1024 * 1024 * 1024), 2), 'GB') AS `总大小`
FROM
    information_schema.TABLES
WHERE
    table_schema NOT IN ('information_schema', 'performance_schema', 'mysql', 'sys');

Esta consulta calcula el tamaño total de los datos de todas las bases de datos en el servidor MySQL, incluidos los datos y los índices. El total aparecerá en la primera fila, 总和debajo de las columnas. Esto le ayudará a comprender el uso de datos en todo el servidor MySQL.

Ver el tamaño de los datos de una única base de datos MySQL

Si desea ver el tamaño de los datos de una base de datos específica, puede utilizar la siguiente consulta SQL, reemplazándola your_database_namecon el nombre de la base de datos que desea ver:

-- 显示单个数据库的数据大小
SELECT
    table_schema AS `数据库`,
    table_name AS `表名`,
    CONCAT(ROUND(table_rows / 1000000, 2), 'M') AS `行数`,
    CONCAT(ROUND(data_length / (1024 * 1024 * 1024), 2), 'GB') AS `数据大小`,
    CONCAT(ROUND(index_length / (1024 * 1024 * 1024), 2), 'GB') AS `索引大小`,
    CONCAT(ROUND((data_length + index_length) / (1024 * 1024 * 1024), 2), 'GB') AS `总大小`
FROM
    information_schema.TABLES
WHERE 
    table_schema NOT IN ('information_schema', 'performance_schema', 'mysql', 'sys') 
    AND table_schema = 'your_database_name'
ORDER BY
    data_length + index_length DESC;

Esta consulta mostrará el tamaño de los datos de cada tabla en una base de datos específica, incluidos los datos y los índices. Simplemente your_database_namereemplácelo con el nombre de la base de datos que desea ver.

Ver todos los tamaños de datos de bases de datos

-- 显示所有数据库的总计
SELECT
    '总和' AS `数据库`,
    '' AS `表名`,
    CONCAT(ROUND(SUM(table_rows) / 1000000, 2), 'M') AS `行数`,
    CONCAT(ROUND(SUM(data_length) / (1024 * 1024 * 1024), 2), 'GB') AS `数据大小`,
    CONCAT(ROUND(SUM(index_length) / (1024 * 1024 * 1024), 2), 'GB') AS `索引大小`,
    CONCAT(ROUND((SUM(data_length) + SUM(index_length)) / (1024 * 1024 * 1024), 2), 'GB') AS `总大小`
FROM
    information_schema.TABLES
WHERE
    table_schema NOT IN ('information_schema', 'performance_schema', 'mysql', 'sys')
UNION
-- 显示每个表的数据大小
SELECT
    table_schema AS `数据库`,
    table_name AS `表名`,
    CONCAT(ROUND(table_rows / 1000000, 2), 'M') AS `行数`,
    CONCAT(ROUND(data_length / (1024 * 1024 * 1024), 2), 'GB') AS `表数据大小`,
    CONCAT(ROUND(index_length / (1024 * 1024 * 1024), 2), 'GB') AS `索引大小`,
    CONCAT(ROUND((data_length + index_length) / (1024 * 1024 * 1024), 2), 'GB') AS `表总大小`
FROM
    information_schema.TABLES
WHERE
    table_schema NOT IN ('information_schema', 'performance_schema', 'mysql', 'sys')
ORDER BY
    `总大小` DESC; -- 修改ORDER BY子句

Resumir

Al utilizar la consulta SQL anterior, puede ver fácilmente el tamaño de los datos de su base de datos y tablas MySQL. Esta información es muy útil para la gestión de bases de datos, la optimización del rendimiento y la planificación del almacenamiento. Dependiendo de sus necesidades, puede ejecutar estas consultas periódicamente para monitorear el crecimiento de la base de datos y tomar las medidas adecuadas. ¡Espero que este blog sea útil!

Supongo que te gusta

Origin blog.csdn.net/weixin_45626288/article/details/132701455
Recomendado
Clasificación