MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Obtenir la taille d'une base de données dans MariaDB

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.