Home / Database & Server / Database & Server / Calcolare lo spazio occupato da una database in MySQL
Mattepuffo

Calcolare lo spazio occupato da una database in MySQL

Calcolare lo spazio occupato da una database in MySQL

Ad oggi si tende sempre di più ad usare strumenti grafici tipo phpmyadmin per gestire i nostri database MySQL (e non......).

Nel caso di servizi di hosting, poi, i nostri db li possiamo gestire praticamente solo attraverso strumenti del genere.

Ma se volessimo/dovessimo per qualche motivo sapere la dimensione occupata dai nostri db attraverso la shell (o più in generale tramite query)?

Ebbene la soluzione c'è.

Tramite una semplice query possiamo scoprire lo spazio occupato dai nostri db; se non abbiamo accesso ad una shell possiamo far eseguire la query ad un linguaggio lato server (PHP, Java,....).

Da shell seguiamo questi passi.

Logghiamo nel nostro db:
$ mysql -u utente -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.5.21-log Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Comparirà il classico prompt di MySQL.

 

A questo punto possiamo eseguire questo comando senza neanche indicare il database da usare:

mysql> SELECT COUNT(table_name) AS NumeroTabelle, SUM(data_length + index_length) AS Dimensione FROM information_schema.TABLES WHERE table_schema = 'banca';
+---------------+------------+
| NumeroTabelle | Dimensione |
+---------------+------------+
|             5 |     262144 |
+---------------+------------+
1 row in set (0.00 sec)

L'unica cosa che dobbiamo indicare sono i parametri in rosso.

Come vedete viene restituito il numero di tabelle del db indicato e la dimensione occupata.

La dimnesione è espressa in byte; in questo caso sono occupati 256 KB.