Oggi i database sono utilizzati quasi ovunque, soprattutto nelle grandi aziende e nei team di sviluppo delle applicazioni. Se decidete di creare un sito web, non sarete in grado di costruirne un funzionamento efficiente e corretto senza un database. Ne avrete bisogno per memorizzare informazioni che cambiano dinamicamente. Di solito si tratta di uno dei database più diffusi: MariaDB o MySQL.
Ma quanto occupa il vostro database? Nel caso di progetti di grandi dimensioni, queste cifre possono raggiungere valori molto elevati. In questo articolo parleremo di come scoprire le dimensioni del database MySQL attraverso la console e altri modi.
Il database installato in Linux viene controllato in modo semplice. Le istruzioni che seguiremo di seguito sono adatte alla maggior parte degli altri sistemi operativi. Il modo più semplice per stimare lo spazio occupato da tutti i database è quello di guardare la dimensione della cartella con i file del database sul sistema - /var/lib/mysql
:
$ du -h /var/lib/mysql
Il comando consente di conoscere la dimensione del database Mysql in megabyte. Ma è molto più corretto esaminare le informazioni sul database utilizzando i suoi strumenti interni. MySQL ha una tabella speciale per questo scopo: Information_schema. Prima di tutto, prima di utilizzarla, è necessario creare una connessione al database:
$ mysql -u root -p
SELECT table_schema AS "Base name",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size in MB"
FROM information_schema.TABLES
GROUP BY table_schema;
Attraverso questa query verranno visualizzate le informazioni sulle dimensioni del database MySQL per ogni database, l'utente sarà in grado di navigare e capire quale database occupa spazio. Se avete un progetto molto grande e un database di grandi dimensioni, potrete visualizzare le informazioni in gigabyte:
SELECT table_schema AS "Base name",
ROUND(SUM(data_length + index_length) / 1024 / 1024 / 1024, 2) AS "Size in GB"
FROM information_schema.TABLES
GROUP BY table_schema;
Ma non è tutto. Nel database potrebbero esserci informazioni inutili che non fanno altro che rallentare il sistema. Possiamo vedere la dimensione delle tabelle per ogni database. La query per questo sarà simile a questa:
SELECT table_name AS "Table name",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size in (MB)"
FROM information_schema.TABLES
WHERE table_schema = "wpfc_options"
ORDER BY (data_length + index_length) DESC;
Le informazioni ci aiuteranno a capire quali tabelle occupano quanto e questo può già darci alcuni spunti interessanti.
Molti utenti non amano o non vogliono lavorare nel terminale. Questo non è un grosso problema, perché è possibile utilizzare Phpmyadmin per visualizzare le dimensioni del database.
È possibile visualizzare le dimensioni di ciascuna tabella del database nella scheda "Struttura" quando si seleziona un database su cui lavorare.
Per quanto riguarda le dimensioni del database stesso, dovrete eseguire la stessa query nell'interfaccia del programma nella scheda "SQL":
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: