MySQL как и большинство других реляционных баз данных, предоставляет нам полезные метаданные о базе данных. В официальной документации MySQL метаданные INFORMATION_SCHEMA называются таблицами.
Мы можем получить всю информацию из таблиц INFORMATION_SCHEMA, таких как views, user_privileges, columns и tables. Для наших целей мы сосредоточимся на метаданных tables, которые мы можем запросить, чтобы фактически извлечь размер различных таблиц в системе.
Script #1
В этом скрипте перечислены размеры всех баз данных.
MariaDB [(none)]>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
Этот скрипт выводит размер определенной базы данных.
MariaDB [(none)]>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
Теперь, если нужно проверить размер отдельных таблиц, то этот скрипт для вас.
MariaDB [(none)]>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;