Как определить размер таблиц в БД MySQL
Для определения размера таблиц в базе данных из командной строки, размещенной на сервере MySQL или MariaDB требуется 2 действия:
1. Подключиться к серверу баз данных, командой: mysql -u root -p (или просто mysql, если локально не требуется аутентификация)
2. Выполнить SQL запрос:
Чтобы определить список и размер таблиц (в килобайтах) базы данных mysql, необходимо будет выполнить запрос:
Для получения размера таблиц в Мегабайтах, необходимо строку:
Например, чтобы определить размер таблицы help_topic в базе данных mysql, необходимо будет выполнить SQL запрос:
Если необходимо получить ограниченных список таблиц, например, содержащих определенные слова в названии, то можно сократить вывод добавив условие (Like "Filter") в конструкцию WHERE
Например, чтобы определить размер таблиц содержащих слово zone в названии таблицы в базе данных mysql, необходимо будет выполнить SQL запрос:
Результат:
1. Подключиться к серверу баз данных, командой: mysql -u root -p (или просто mysql, если локально не требуется аутентификация)
2. Выполнить SQL запрос:
SELECT
table_name AS `Table`,
round(((data_length + index_length) / 1024), 2) `Size in KB`
FROM information_schema.TABLES
WHERE table_schema = "DBName";
где, "DBName" - имя базы данных, для которой необходимо получить список таблиц с размерамиЧтобы определить список и размер таблиц (в килобайтах) базы данных mysql, необходимо будет выполнить запрос:
SELECT
table_name AS `Table`,
round(((data_length + index_length) / 1024 ), 2) `Size in KB`
FROM information_schema.TABLES
WHERE table_schema = "mysql";
Результат выполнения SQL запроса будет примерно такой:
+---------------------------+------------+
| Table | Size in KB |
+---------------------------+------------+
| columns_priv | 4.00 |
| db | 13.94 |
| event | 2.00 |
| func | 1.00 |
| general_log | 0.00 |
| help_category | 4.07 |
| help_keyword | 105.27 |
| help_relation | 28.04 |
| help_topic | 459.83 |
| host | 2.00 |
| ndb_binlog_index | 1.00 |
| plugin | 1.00 |
| proc | 2.00 |
| procs_priv | 4.00 |
| proxies_priv | 12.48 |
| servers | 1.00 |
| slow_log | 0.00 |
| tables_priv | 4.00 |
| time_zone | 1.00 |
| time_zone_leap_second | 1.00 |
| time_zone_name | 1.00 |
| time_zone_transition | 1.00 |
| time_zone_transition_type | 1.00 |
| user | 5.11 |
+---------------------------+------------+
24 rows in set (0.00 sec)
Для получения размера таблиц в Мегабайтах, необходимо строку:
round(((data_length + index_length) / 1024 ), 2) `Size in KB`
заменить на round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`
Если список таблиц очень большой, то можно сократить вывод добавив условие в конструкцию WHEREWHERE table_schema = "DBName"
AND table_name = "TableName";
где, TableName - имя таблицы, для который необходимо получить размерНапример, чтобы определить размер таблицы help_topic в базе данных mysql, необходимо будет выполнить SQL запрос:
SELECT
table_name AS `Table`,
round(((data_length + index_length) / 1024 ), 2) `Size in KB`
FROM information_schema.TABLES
WHERE table_schema = "mysql"
AND table_name = "help_topic";
Результат:+------------+------------+
| Table | Size in KB |
+------------+------------+
| help_topic | 459.83 |
+------------+------------+
1 row in set (0.00 sec)
Если необходимо получить ограниченных список таблиц, например, содержащих определенные слова в названии, то можно сократить вывод добавив условие (Like "Filter") в конструкцию WHERE
WHERE table_schema = "DBName"
AND table_name Like "Filter";
Например, чтобы определить размер таблиц содержащих слово zone в названии таблицы в базе данных mysql, необходимо будет выполнить SQL запрос:
SELECT
table_name AS `Table`,
round(((data_length + index_length) / 1024 ), 2) `Size in KB`
FROM information_schema.TABLES
WHERE table_schema = "mysql"
AND table_name Like "%zone%";
Результат:
+---------------------------+------------+
| Table | Size in KB |
+---------------------------+------------+
| time_zone | 1.00 |
| time_zone_leap_second | 1.00 |
| time_zone_name | 1.00 |
| time_zone_transition | 1.00 |
| time_zone_transition_type | 1.00 |
+---------------------------+------------+
5 rows in set (0.00 sec)
PS Эту же информацию можно получить используя PHPMyAdmin, которая предоставляет веб-интерфейс для администрирования СУБД MySQL.
Похожие статьи:
24 ноябрь 2021, Среда
SQL: Saving Changes is not permitted
03 апрель 2019, Среда
SQL: Как определить размер таблиц в БД MS SQL
13 декабрь 2017, Среда
Как сбросить пароль root для MySQL в среде Windows
14 ноябрь 2017, Вторник
Как сбросить пароль root для MySQL в среде Linux
05 февраль 2018, Понедельник
Как определить размер БД MySQL
Комментарии: