jeudi 1 septembre 2011

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

Voilà quelques trucs pour connaître la taille d'une base de données MySQL ou alors uniquement la taille d'une table. Ce type d'information est récupérable via des interfaces graphiques pour MySQL, comme phpMyAdmin ou encore MySQL Administrator. Ici, je vous propose d'obtenir la taille en utilisant uniquement des requêtes SQL.


Dans un premier temps, connectez vous à votre base de données:
mysql -u root -p

Voici la requête SQL suivante pour avoir 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';

Aucun commentaire:

Enregistrer un commentaire