System-Linux

Aller au contenu | Aller au menu | Aller à la recherche

Afficher la taille d'une base ou d'une table depuis la console MySQL.

chkconfig jpeg

Si vous souhaitez connaitre la taille d'une table ou d'une de vos bases sous MySQL sans passer par un outil graphique c'est facile et c'est par ici.

Un peu de SQL ne fait pas de mal.

Afficher la taille de toutes les bases :

SELECT table_schema "Databases", sum( data_length + index_length) / 1024 / 1024 "Size of DB in MB" FROM information_schema.TABLES GROUP BY table_schema;

Afficher la taille d'une base :

SELECT table_schema "Database", sum( data_length + index_length) / 1024 / 1024 "Size of DB in MB" FROM information_schema.TABLES WHERE table_schema = "$DB_NAME" GROUP BY table_schema;

Afficher la taille de toutes les tables d'une base :

SELECT table_name AS "Tables", round(((data_length + index_length) / 1024 / 1024), 2) "Size in MB" FROM information_schema.TABLES WHERE table_schema = "$DB_NAME";

Afficher la taille d'une table d'une base :

SELECT table_name AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) "Size in MB" FROM information_schema.TABLES WHERE table_schema = "$DB_NAME" AND table_name = "$TABLE_NAME";

A noter que vous adapter l'unité d'affichage en ajoutant ou en retirant "/ 1024" dans les requetes ci-dessus.

Cela peut-être utile notamment pour avoir une idée de la durée d'un dump ou autre.

* Ne pas oublier de remplacer $DB_NAME et/ou $TABLE_NAME par le nom de votre base et/ou le nom de votre table.

Par RaX | le jeudi, février 11 2010 12:15

Commentaires

1. GanGan

jeudi, février 11 2010 | 13:39

Ils auraient pu implémenter une commande exprès nos amis développeurs :)

2. rds

samedi, février 13 2010 | 12:19

Ne manquerait-il pas un group by aux 2 premières requêtes ?

3. RaX

mardi, février 16 2010 | 10:38

Cela doit fonctionner avec les requêtes donné. Enfin pour ma problématique cela a fonctionné.

4. ossas

jeudi, février 25 2010 | 17:58

Merci à toi auteur de ce script qui m'a bien été utile, je devais faire plaisir à un petit chef qui souhaitait à tout prix connaître la table de la base, pour disait-il faire des prévisions sur un an...(il faut bien que le petit s'occupe)....

5. GanGan

jeudi, février 25 2010 | 22:22

et bin de rien, si un jour tu découvre un truc sympa partage le à ton tour.

6. batitou

mardi, décembre 7 2010 | 10:28

Bonjour,
Je suis admin de base de données Oracle et je suis en train de me former à MySQL.
Existe t'il un équivalent aux Tablespaces Oracle sous MySQL ?