Как найти размеры базы данных в MySQL / MariaDB на сервере

by itisgood

Вы пытаетесь найти, какие базы данных на вашем сервере базы данных MySQL / MariaDB имеют большее табличное пространство ?

У людей есть разные причины для поиска размеров базы данных в MySQL / MariaDB.

Это может быть для усечения данных, архивирования, оптимизации и т.д.

В этом руководстве по эксплуатации я поделюсь с вами запросом, который вы можете использовать на сервере базы данных MySQL / MariaDB, чтобы найти размер каждой базы данных.

SELECT
	COUNT(*) AS Total_Table_Count
	,table_schema
	,CONCAT(ROUND(SUM(table_rows)/1000000,2),'M') AS Total_Row_Count
	,CONCAT(ROUND(SUM(data_length)/(1024*1024*1024),2),'G') AS Total_Table_Size
	,CONCAT(ROUND(SUM(index_length)/(1024*1024*1024),2),'G') AS Total_Table_Index
	,CONCAT(ROUND(SUM(data_length+index_length)/(1024*1024*1024),2),'G') Total_Size
FROM information_schema.TABLES
GROUP BY table_schema
ORDER BY SUM(data_length+index_length)
DESC LIMIT 10;

Этот запрос позволит:

  • Найти количество таблиц в каждой базе данных
  • Общее количество строк в базе данных
  • Общий размер таблицы и индекс
  • Общий размер таблицы в GB

Ниже приведен пример:

+-------------------+--------------------+-----------------+------------------+-------------------+------------+
| Total_Table_Count | table_schema       | Total_Row_Count | Total_Table_Size | Total_Table_Index | Total_Size |
+-------------------+--------------------+-----------------+------------------+-------------------+------------+
|               124 | b4gaags_db         | 1.72M           | 0.10G            | 0.06G             | 0.16G      |
|                33 | mutima             | 0.44M           | 0.10G            | 0.03G             | 0.13G      |
|                55 | gitea              | 0.00M           | 0.00G            | 0.00G             | 0.00G      |
|                48 | kanboard           | 0.00M           | 0.00G            | 0.00G             | 0.00G      |
|                31 | mysql              | 0.00M           | 0.00G            | 0.00G             | 0.00G      |
|                76 | information_schema | NULL            | 0.00G            | 0.00G             | 0.00G      |
|                 3 | zourfs             | 0.00M           | 0.00G            | 0.00G             | 0.00G      |
|                52 | performance_schema | 0.07M           | 0.00G            | 0.00G             | 0.00G      |
+-------------------+--------------------+-----------------+------------------+-------------------+------------+
8 rows in set (0.027 sec)

ORDER BY DESC LIMIT 10 покажет размеры базы данных от самого большого до самого маленького.

Отрегулируйте LIMIT 10 для вывода большего количества записей.

 

You may also like

1 comment

Как преобразовать все таблицы MySQL из MyISAM в InnoDB Storage Engine — Information Technology is good 14.01.2019 - 14:12

[…] Как найти размеры базы данных в MySQL / MariaDB на сервере […]

Reply

Leave a Comment