sql >> Databasteknik >  >> RDS >> MariaDB

Få storleken på en databas i MariaDB

I MariaDB kan vi fråga information_schema.tables tabell för att kontrollera storleken på en databas.

Den här tabellen returnerar information om tabellerna och vyerna i varje databas på servern. Vi kan gruppera resultaten och returnera de sammanlagda beloppen för varje databas.

Exempel

Här är en fråga som returnerar storleken på alla databaser på servern:

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;

Resultat:

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

The information_schema.tables Tabell visar information om de olika icke-TEMPORARY tabeller (förutom tabeller från Information Schema databas) och vyer på servern.

Här grupperade jag dem efter databas (table_schema ) och körde några beräkningar på storlekarna.

Enskild databas

Vi kan begränsa den till bara en databas med en WHERE klausul:

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;

Resultat:

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

I MySQL kan vi använda sys.FORMAT_BYTES() funktion för att göra datalängdskonverteringen, men när detta skrivs har MariaDB ännu inte implementerat en sådan funktion.


  1. verify_queryable_inventory returnerade ORA-20008:Timeout

  2. SQL Server-markörtyper - KEYSET-markör | SQL Server Tutorial / TSQL Tutorial

  3. Returnera värde från sql-skript till skalskript

  4. Ansluter Genero till SQL Server