MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Holen Sie sich die Größe einer Datenbank in MariaDB

In MariaDB können wir die information_schema.tables abfragen Tabelle, um die Größe einer Datenbank zu überprüfen.

Diese Tabelle gibt Informationen zu den Tabellen und Sichten in jeder Datenbank auf dem Server zurück. Wir können die Ergebnisse gruppieren und die aggregierten Beträge für jede Datenbank zurückgeben.

Beispiel

Hier ist eine Abfrage, die die Größe aller Datenbanken auf dem Server zurückgibt:

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 |        212992 |        0.20 |
| KrankyKranes       |        131072 |        0.13 |
| Music              |         81920 |        0.08 |
| MyDB               |         32768 |        0.03 |
| mysql              |       4972544 |        4.74 |
| performance_schema |             0 |        0.00 |
| PetHouse           |         81920 |        0.08 |
| Zap                |         37460 |        0.04 |
+--------------------+---------------+-------------+

Tdie information_schema.tables Tabelle zeigt Informationen über die verschiedenen Nicht-TEMPORARY Tabellen (außer Tabellen aus dem Information Schema Datenbank) und Ansichten auf dem Server.

Hier habe ich sie nach Datenbank gruppiert (table_schema ) und einige Berechnungen zu den Größen durchgeführt.

Einzelne Datenbank

Wir können es mit einem WHERE auf nur eine Datenbank eingrenzen Klausel:

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 = 'KrankyKranes'
GROUP BY table_schema;

Ergebnis:

+---------------+---------------+-------------+
| Database Name | Size in Bytes | Size in MiB |
+---------------+---------------+-------------+
| krankykranes  |        131072 |        0.13 |
+---------------+---------------+-------------+

In MySQL können wir das sys.FORMAT_BYTES() verwenden Funktion, um die Datenlängenkonvertierung durchzuführen, aber zum jetzigen Zeitpunkt hat MariaDB eine solche Funktion noch nicht implementiert.