Мне удалось сделать это с помощью запроса information_schema.tables
:
SELECT
table_schema AS schema,
SUM(bytes) AS bytes
FROM information_schema.tables
GROUP BY schema;
Обратите внимание, что это работает только для текущей базы данных, поскольку каждая база данных имеет свою собственную information_schema
. Так что это не сработает, чтобы получить размер списка баз данных. Однако возможен общий размер каждой БД по отдельности:
SELECT SUM(bytes) AS bytes
FROM [database_name].information_schema.tables;
Хорошим дополнением к этому является использование UDF для удобного форматирования размера байта, например, nicebytes
пример здесь , что приводит к nicebytes(SUM(bytes)) AS bytes
в запросе.