sql >> Database >  >> RDS >> MariaDB

Krijg de grootte van een database in MariaDB

In MariaDB kunnen we de information_schema.tables . opvragen tabel om de grootte van een database te controleren.

Deze tabel retourneert informatie over de tabellen en weergaven in elke database op de server. We kunnen de resultaten groeperen en de totale bedragen voor elke database retourneren.

Voorbeeld

Hier is een query die de grootte van alle databases op de server retourneert:

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;

Resultaat:

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

Thij information_schema.tables tabel toont informatie over de verschillende niet-TEMPORARY tabellen (behalve tabellen uit het Information Schema database) en views op de server.

Hier heb ik ze gegroepeerd op database (table_schema ) en voerde wat berekeningen uit op de maten.

Enkele database

We kunnen het beperken tot slechts één database met een WHERE clausule:

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;

Resultaat:

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

In MySQL kunnen we de sys.FORMAT_BYTES() . gebruiken functie om de gegevenslengte-conversie uit te voeren, maar op het moment van schrijven heeft MariaDB een dergelijke functie nog niet geïmplementeerd.


  1. Hoe te controleren of het bestand een afbeelding is met PL/SQL?

  2. Unieke samengestelde sleutel van SQL Server van twee velden met automatische verhoging van het tweede veld

  3. Meer gegevensarchieven toevoegen aan Microsoft Power BI

  4. Hoe csv-strings het beste te splitsen in oracle 9i