Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So überprüfen Sie die Größe einer Datenbank in MySQL

In MySQL können Sie die information_schema.tables abfragen table, um Informationen über die Tabellen in einer Datenbank zurückzugeben. Diese Tabelle enthält Informationen über die Datenlänge, die Indexlänge sowie andere Details wie Sortierung, Erstellungszeit usw. Sie können die Informationen in dieser Tabelle verwenden, um die Größe einer bestimmten Datenbank oder aller Datenbanken auf dem Server zu ermitteln.

Sie können auch die MySQL Workbench-GUI verwenden, um Details über die Datenbank (einschließlich ihrer Größe) zu finden.

Dieser Artikel bietet einen schnellen Überblick über beide Methoden.

Codebeispiel

Hier ist ein Beispiel für das Ermitteln der Größe jeder Datenbank durch Ausführen einer Abfrage für information_schema.tables Tabelle:

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;

Ergebnis:

+--------------------+---------------+-------------+
| 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 diesem Beispiel habe ich die Größe in Byte und in Mebibyte (MiB) aufgelistet, aber Sie können wählen, wie Sie sie darstellen möchten.

Natürlich können Sie es bei Bedarf immer auf eine bestimmte Datenbank eingrenzen. Fügen Sie einfach ein WHERE hinzu -Klausel mit dem Namen der Datenbank:

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';

Ergebnis:

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

Die FORMAT_BYTES()-Funktion

Sie können sys.FORMAT_BYTES() verwenden Funktion, um sich das Umrechnen der Größe in Mebibyte, Kibibyte oder was auch immer zu ersparen. Diese Funktion nimmt einen Wert, konvertiert ihn in ein für Menschen lesbares Format und gibt eine Zeichenfolge zurück, die aus einem Wert und einem Einheitenindikator besteht. Der konvertierte Wert hängt von der Größe des Werts ab (das Ergebnis könnte also in bytes vorliegen , KiB (Kibibyte), MiB (Mebibyte), GiB (Gibibyte), TiB (Tebibyte) oder PiB (Pebibyte).

Hier ist ein Beispiel für das Umschreiben des vorherigen Beispiels, um FORMAT_BYTES() zu verwenden Funktion:

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;

Ergebnis:

+--------------------+---------------+------------------+
| 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       |
+--------------------+---------------+------------------+

MySQL-Workbench

Eine andere Möglichkeit, die Datenbankgröße zu ermitteln, ist die Verwendung der MySQL Workbench-GUI. So geht's:

  1. Navigieren Sie zur Datenbank in den Schemas Bereich
  2. Bewegen Sie den Mauszeiger über die entsprechende Datenbank
  3. Klicken Sie auf das kleine Informationssymbol neben dem Datenbanknamen. Dadurch werden Informationen über die Datenbank geladen, einschließlich ihrer ungefähren Größe, Tabellenanzahl, Sortierung usw. Die Datenbankgröße wird unter Info aufgeführt Registerkarte (normalerweise die Standardregisterkarte).