Dans MariaDB, nous pouvons interroger les information_schema.tables
table pour vérifier la taille d'une base de données.
Cette table renvoie des informations sur les tables et les vues de chaque base de données sur le serveur. Nous pouvons regrouper les résultats et renvoyer les montants agrégés pour chaque base de données.
Exemple
Voici une requête qui renvoie la taille de toutes les bases de données sur le serveur :
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;
Résultat :
+--------------------+---------------+--------- ----+| Nom de la base de données | Taille en octets | Taille en Mio |+--------------------+---------------+-------- -----+| information_schema | 212992 | 0,20 || KrankyKranes | 131072 | 0,13 || Musique | 81920 | 0,08 || MaDB | 32768 | 0,03 || mysql | 4972544 | 4.74 || performance_schema | 0 | 0,00 || PetMaison | 81920 | 0,08 || Zap | 37460 | 0.04 |+--------------------+---------------+---------- ---+
Til information_schema.tables
le tableau montre des informations sur les différents non-TEMPORARY
tables (à l'exception des tables du Information Schema
base de données) et des vues sur le serveur.
Ici, je les ai regroupés par base de données (table_schema
) et a effectué des calculs sur les tailles.
Base de données unique
Nous pouvons le réduire à une seule base de données avec un WHERE
clause :
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;
Résultat :
+---------------+---------------+----------------------+ | Nom de la base de données | Taille en octets | Taille en Mio |+---------------+---------------+------------- +| krankykranes | 131072 | 0.13 |+---------------+---------------+-------------+Dans MySQL, nous pouvons utiliser le
sys.FORMAT_BYTES()
pour effectuer la conversion de la longueur des données, mais au moment d'écrire ces lignes, MariaDB n'a pas encore implémenté une telle fonction.