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.