Afficher la taille des données de la base de données et de la table dans MySQL

Afficher la taille des données de la base de données et de la table dans MySQL

Insérer la description de l'image ici

Lors de la gestion et de la maintenance d'une base de données MySQL, il est très important de comprendre la taille des données de la base de données et des tables. Cela peut vous aider à surveiller la croissance de la base de données, à optimiser les performances et à planifier les besoins de stockage. Ce blog expliquera comment utiliser les requêtes SQL pour afficher la taille des données des bases de données et des tables MySQL.

Vérifiez la taille totale des données de la base de données MySQL

Tout d’abord, nous apprendrons comment afficher la taille totale des données de l’ensemble de la base de données MySQL, y compris toutes les bases de données. Voici un exemple de requête 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');

Cette requête calcule la taille totale des données de toutes les bases de données du serveur MySQL, y compris les données et les index. Le total apparaîtra sur la première ligne, 总和sous les colonnes. Cela vous aidera à comprendre l'utilisation des données sur l'ensemble du serveur MySQL.

Afficher la taille des données d'une seule base de données MySQL

Si vous souhaitez voir la taille des données d'une base de données spécifique, vous pouvez utiliser la requête SQL suivante, en la remplaçant your_database_namepar le nom de la base de données que vous souhaitez voir :

-- 显示单个数据库的数据大小
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;

Cette requête affichera la taille des données de chaque table dans une base de données spécifique, y compris les données et les index. Remplacez simplement your_database_namepar le nom de la base de données que vous souhaitez afficher.

Afficher toutes les tailles de données de base de données

-- 显示所有数据库的总计
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子句

Résumer

En utilisant la requête SQL ci-dessus, vous pouvez facilement afficher la taille des données de votre base de données et de vos tables MySQL. Ces informations sont très utiles pour la gestion des bases de données, l'optimisation des performances et la planification du stockage. En fonction de vos besoins, vous pouvez exécuter ces requêtes périodiquement pour surveiller la croissance de la base de données et prendre les mesures appropriées. J'espère que ce blog sera utile !

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45626288/article/details/132701455
conseillé
Classement