MySQL : connaître la taille d'une base de données
Voici quelques astuces pour connaître la taille d'une base de données MySQL ou uniquement la taille d'une table. Cette information est généralement disponible par l'utilisation de certains clients MySQL, comme phpMyAdmin ou encore MySQL Administrator. Ici, je vous propose d'obtenir la taille en utilisant uniquement des requêtes SQL.
Connectez-vous à la base de données MySQL :
mysql -u root -p
Lancez par exemple la requête SQL suivante pour obtenir la taille de toutes les bases de données en Mo :
SELECT table_schema, round(sum(data_length+index_length)/1024/1024,4) AS "Size (MB)" FROM information_schema.tables GROUP BY table_schema;
Si l'on souhaite la taille d'une table uniquement, il faudra préciser le nom de cette dernière (champ table_name), ainsi que le nom de la base de données (champ table_schema) :
SELECT table_schema,round(sum(data_length+index_length)/1024/1024,4) FROM information_schema.tables WHERE table_schema = 'mysql' AND table_name = 'user';
Si on veut afficher la taille de toutes les tables d'une base :
SELECT table_name AS "Tables", round(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)" FROM information_schema.tables WHERE table_schema = 'mysql';
8 Commentaires pour "MySQL : connaître la taille d'une base de données"
Flux des commentaires de cet article Ajouter un commentaireMerci beaucoup pour cette commande magique !!
Très pratique, merci !
Je l'ai utilisé avec un "ORDER BY 2" à la fin de la requête pour trier les tables (ou bases) en fonction de leur taille.
Pour connaitre la taille totale de toutes les bases de données ensemble, utilisez cette requête (basé sur celle donné dans cet article) :
SELECT SUM(Size) FROM ((SELECT table_schema, round(sum(data_length+index_length)/1024/1024,4) AS "Size" FROM information_schema.tables GROUP BY table_schema)AS sizes);
Cool ta vie billux.
Merc pour la première requête, c'est parfait
Merci pour ces requêtes. Les valeurs semble être approximatives mais le but c'est d'avoir un ordre de grandeur.
Bien pratique en tout cas.
Bonjour,
est ce possible de connaitre l'espace disque utilisé par une colonne d'une table précise?
Cdlt
Cpanel fournit aussi la taille des bases de données ; les valeurs affichées sont assez différentes de celles retournées par cette requête.