SCROLL
Среднее время на прочтение: 1 мин.

Как определить размер базы данных 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;

Обсуждение

0 комментариев

Нет комментариев.