MySQL : connaître la taille d'une base de données


Taille d'une base de données MySQL
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';

Autres articles du même sujet


3 Commentaires pour "MySQL : connaître la taille d'une base de données"

Flux des commentaires de cet article Ajouter un commentaire
  •  

    Merci beaucoup pour cette commande magique !!

    RépondreRépondre
    Benjamin , le 27 mars 2011 à 18:57
  •  

    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.

    RépondreRépondre
    billux , le 11 avril 2011 à 18:10
  •  

    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);

    RépondreRépondre
    JBENOIT , le 29 avril 2011 à 11:21
 

Ajouter un commentaire

actualité apache apple astuce astuces bash bilboblog blog boot chrome clavier commande commandes conky crack date debian Desktop développement exploit faille fedora firefox flash gimp gnome google graphique Graphisme hack hacking Hardware intel internet iphone jackalope jailbreak jaunty Jeux Kde kernel libre Linux log logiciels Logiciels Libres lucid lynx maemo mail maquette microblog microsoft mini-blog mobile mockup monitoring mozilla multi-touch musique mysql n900 nautilus nokia noyau openoffice open source password photos php Planet plugins publicité redhat red hat rpm réseau screenshot script serveurs shell sql ssh statistiques system sécurité thème tux-planet tv twitter ubuntu unity vidéo vidéos vlc voyage wallpaper windows wordpress yum