Как определить размер базы данных MySQL
MySQL, как и большинство других реляционных баз данных, предоставляет нам полезные метаданные о базе данных. В официальной документации MySQL метаданные INFORMATION_SCHEMA называются таблицами.
Мы можем получить всю информацию из таблиц INFORMATION_SCHEMA
, таких как views
, user_privileges
, columns
и tables
. Для наших целей мы сосредоточимся на метаданных tables
, которые мы можем запросить, чтобы фактически извлечь размер различных таблиц в системе.
Script #1
В этом скрипте перечислены размеры всех баз данных.
SELECT table_schema AS "Database Name",
Round(Sum(data_length + index_length) / 1024 / 1024 / 1024, 1) AS "Size (GB)"
FROM information_schema.tables
GROUP BY table_schema
Script #2
Этот скрипт выводит размер определенной базы данных.
SELECT table_schema AS "Database Name",
Round(Sum(data_length + index_length) / 1024 / 1024 / 1024, 1) AS "Size (GB)"
FROM information_schema.tables
WHERE table_schema = "<database name>"
Script #3
Теперь, если нужно проверить размер отдельных таблиц, то этот скрипт для вас.
SELECT TABLE_NAME AS `Table`, ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024) AS "Size (MB)"
FROM information_schema.tables
WHERE TABLE_SCHEMA = "<database name>"
ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;
Обсуждение
Нет комментариев.