Mysql
 sql >> Database >  >> RDS >> Mysql

Come controllare la dimensione di un database in MySQL

In MySQL, puoi interrogare information_schema.tables tabella per restituire informazioni sulle tabelle in un database. Questa tabella include informazioni sulla lunghezza dei dati, la lunghezza dell'indice e altri dettagli come confronto, ora di creazione e così via. È possibile utilizzare le informazioni in questa tabella per trovare la dimensione di un determinato database o di tutti i database sul server.

Puoi anche utilizzare la GUI di MySQL Workbench per trovare dettagli sul database (incluse le sue dimensioni).

Questo articolo fornisce una rapida panoramica di entrambi i metodi.

Esempio di codice

Ecco un esempio di come trovare la dimensione di ogni database eseguendo una query su information_schema.tables tabella:

SELECT 
    table_schema 'Database Name',
    SUM(data_length + index_length) 'Size in Bytes',
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MiB'
FROM information_schema.tables 
GROUP BY table_schema;

Risultato:

+--------------------+---------------+-------------+
| Database Name      | Size in Bytes | Size in MiB |
+--------------------+---------------+-------------+
| information_schema |             0 |        0.00 |
| Music              |         98304 |        0.09 |
| mysql              |       2506752 |        2.39 |
| performance_schema |             0 |        0.00 |
| sakila             |       6766592 |        6.45 |
| Solutions          |         16384 |        0.02 |
| sys                |         16384 |        0.02 |
| world              |        802816 |        0.77 |
+--------------------+---------------+-------------+

In questo esempio ho elencato la dimensione in byte e in mebibyte (MiB), ma puoi scegliere come vuoi presentarla.

Naturalmente, se necessario, puoi sempre restringerlo a un database specifico. Aggiungi semplicemente un WHERE clausola con il nome del database:

SELECT 
    table_schema 'Database Name',
    SUM(data_length + index_length) 'Size in Bytes',
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MiB'
FROM information_schema.tables 
WHERE table_schema = 'sakila';

Risultato:

+---------------+---------------+-------------+
| Database Name | Size in Bytes | Size in MiB |
+---------------+---------------+-------------+
| sakila        |       6766592 |        6.45 |
+---------------+---------------+-------------+

La funzione FORMAT_BYTES()

Puoi usare sys.FORMAT_BYTES() funzione per salvarti convertendo la dimensione in mebibyte, kibibyte o altro. Questa funzione prende un valore, lo converte in un formato leggibile e restituisce una stringa composta da un valore e un indicatore di unità. Il valore convertito dipenderà dalla dimensione del valore (quindi il risultato potrebbe essere in bytes , KiB (kibibyte), MiB (mebibyte), GiB (gibibyte), TiB (tebibyte) o PiB (pebibyte).

Ecco un esempio di riscrittura dell'esempio precedente per utilizzare FORMAT_BYTES() funzione:

USE Music;
SELECT 
    table_schema 'Database Name',
    SUM(data_length + index_length) 'Size in Bytes',
    sys.FORMAT_BYTES(SUM(data_length + index_length)) 'Size (Formatted)'
FROM information_schema.tables 
GROUP BY table_schema;

Risultato:

+--------------------+---------------+------------------+
| Database Name      | Size in Bytes | Size (Formatted) |
+--------------------+---------------+------------------+
| information_schema |             0 | 0 bytes          |
| Music              |         98304 | 96.00 KiB        |
| mysql              |       2506752 | 2.39 MiB         |
| performance_schema |             0 | 0 bytes          |
| sakila             |       6766592 | 6.45 MiB         |
| Solutions          |         16384 | 16.00 KiB        |
| sys                |         16384 | 16.00 KiB        |
| world              |        802816 | 784.00 KiB       |
+--------------------+---------------+------------------+

Workbench MySQL

Un altro modo per trovare la dimensione del database è utilizzare la GUI di MySQL Workbench. Ecco come:

  1. Vai al database negli Schemas pannello
  2. Passa il mouse sul database applicabile
  3. Fai clic sulla piccola icona delle informazioni accanto al nome del database. Questo carica le informazioni sul database, comprese le sue dimensioni approssimative, il conteggio delle tabelle, le regole di confronto, ecc. La dimensione del database è elencata in Info scheda (di solito la scheda predefinita).