Pubblicato 22 settembre 2010 in linux, web da Luca

Da quando ho il mio server non ho mai avuto la necessità di sapere quanto spazio occupano i database, ma una persona mi ha chiesto l’hosting per un suo sito e ha bisogno di determinate caratteristiche ed una massima dimensione per il database.

Facendo una ricerca su google per trovare una soluzione al mio problema ed ho trovato varie soluzioni ma che ne sono due che, secondo me, sono le più valide.
La prima soluzione l’ho trovata su MR Webmaster che tramite una query mi estrae il numero di tabelle e la dimensione in byte di tutto il database.

SELECT COUNT(table_name) AS numero_tabelle,
SUM(data_length+index_length) AS dimensione_db
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'database'

La seconda soluzione l’ho trovato sul forum di mysql che mi permette di avere in un unica query la dimensione di ogni database e lo spazio superfluo

SELECT table_schema "Data Base Name",
sum( data_length + index_length ) / 1024 /
1024 "Data Base Size in MB",
sum( data_free )/ 1024 / 1024 "Free Space in MB"
FROM information_schema.TABLES
GROUP BY table_schema ;

Personalmente preferisco la seconda soluzione perché così ho sotto controllo tutti i database presenti sul mio .

Voi cosa ne pensate? Aspetto i vostri commenti