В MariaDB можем да потърсим information_schema.tables
таблица, за да проверите размера на база данни.
Тази таблица връща информация за таблиците и изгледите във всяка база данни на сървъра. Можем да групираме резултатите и да върнем обобщените суми за всяка база данни.
Пример
Ето заявка, която връща размера на всички бази данни на сървъра:
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;
Резултат:
+--------------------+--------------+-------- ----+| Име на базата данни | Размер в байтове | Размер в MiB |+-------------------+--------------+-------- -----+| информация_схема | 212992 | 0,20 || KrankyKranes | 131072 | 0,13 || Музика | 81920 | 0,08 || MyDB | 32768 | 0,03 || mysql | 4972544 | 4,74 || схема_изпълнение | 0 | 0,00 || PetHouse | 81920 | 0,08 || Зап | 37460 | 0,04 |+-------------------+--------------+---------- ---+
Tтой information_schema.tables
таблицата показва информация за различните не-TEMPORARY
таблици (с изключение на таблици от Information Schema
база данни) и изгледи на сървъра.
Тук ги групирах по база данни (table_schema
) и извърших някои изчисления на размерите.
Единична база данни
Можем да го ограничим само до една база данни с WHERE
клауза:
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;
Резултат:
+---------------+--------------+------------+ | Име на базата данни | Размер в байтове | Размер в MiB |+--------------+--------------+------------ +| krankykranes | 131072 | 0,13 |+---------------+--------------+------------+предварително>В MySQL можем да използваме
sys.FORMAT_BYTES()
функция за извършване на преобразуване на дължината на данните, но към момента на писането, MariaDB все още не е внедрила такава функция.