Как получить размер базы данных mysql?
Предположим, что целевая база данных называется «v3».Как получить размер базы данных mysql?
ответ
Выполнить этот запрос, и вы, вероятно, получите то, что вы ищете:
SELECT table_schema "DB Name",
Round(Sum(data_length + index_length)/1024/1024, 1) "DB Size in MB"
FROM information_schema.tables
GROUP BY table_schema;
Этот запрос приходит от the mysql forums, где существуют более полные указания доступно.
этот выбор не показывать мне всех. Я попытался проверить базу данных OTRS и таблицы с вложением (возможно, какое-то поле BLOB), не исправить правильно ... любой workaroud? – ceinmart
Даже после того, как я удалю большую часть данных из таблиц в базе данных, размер останется тем же самым – Vidz
@Vidz вы используете движок InnoDB. Если вы это сделаете, вы можете освободить место, если вы не используете file_per_table и не изменяете таблицы. – mandza
В качестве альтернативы вы можете напрямую перейти в каталог данных и проверить общий размер v3.myd, v3. myi и v3. frm (для myisam) или v3.idb & v3.frm (для innodb).
Примечание: файлы ibd существуют только при использовании innodb_file_per_table – Slashterix
Этот ответ очень специфичен для механизма хранения. Answer by @ brian-willis более подходит. –
В качестве альтернативы, если вы используете phpMyAdmin
, вы можете ознакомиться с суммой размеров таблиц в нижнем колонтитуле вашей базы данных. structure
tab. Фактический размер базы данных может быть немного выше этого размера, однако он, по-видимому, согласуется с упомянутым выше методом table_schema
.
скриншоте:
Чтобы получить результат в МБ:
SELECT SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH)/1024/1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = "SCHEMA-NAME";`
Чтобы получить результат в ГБ:
SELECT SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH)/1024/1024 /1024), 2)) AS "SIZE IN GB"
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = "SCHEMA-NAME";`
mysqldiskusage --server=root:[email protected] pics
+----------+----------------+
| db_name | total |
+----------+----------------+
| pics | 1,179,131,029 |
+----------+----------------+
Это можно определить с помощью следующей команды MySQL
SELECT table_schema AS "Database", SUM(data_length + index_length)/1024/1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema
Результата
Database Size (MB)
db1 11.75678253
db2 9.53125000
test 50.78547382
Nice. Мне нравится этот ответ. – progfan
- 1. Размер базы данных MySQL
- 2. Получить размер базы данных MYSQL в Java
- 3. Как получить размер базы данных с Qt?
- 4. Размер базы данных. PHP - MySQL
- 5. Производительность базы данных MYSQL - размер
- 6. Как вычислить таблицы mysql/размер базы данных
- 7. SQL - получить размер базы данных
- 8. Как получить размер базы данных через TDBXReader?
- 9. Как получить размер базы данных Exchange 2010
- 10. Получить размер базы данных конкретных данных
- 11. MySQL размер базы данных VS длины VARCHAR
- 12. Размер базы данных Drupal
- 13. базы данных MySQL имеют больший размер
- 14. MySQL Какой максимальный размер базы данных?
- 15. получить размер таблицы с именем базы данных
- 16. Как получить текущую версию базы данных MySQL?
- 17. Как получить данные из базы данных MySQL?
- 18. Как получить схему отношений базы данных MySQL
- 19. Как получить данные из базы данных mysql
- 20. Как получить значение из базы данных, MySQL
- 21. Как получить скрипт базы данных для Mysql?
- 22. Как получить изображение из базы данных mysql
- 23. Как изменить размер базы данных
- 24. Как уменьшить размер базы данных
- 25. Размер файла базы данных или размер базы данных? SQLite
- 26. Ограничить размер базы данных
- 27. Неучтенный размер базы данных
- 28. Размер базы данных gesstimating
- 29. Размер базы данных огромный
- 30. Размер базы данных TFS2010
Для конкретной таблицы/конкретного размера базы данных сценария, представленный здесь, поможет, информации вычисляется из таблицы INFORMATION_SCHEMA.TABLES, см подробный ответ здесь http://www.rathishkumar.in/2017/12/how-to-find-database-and-table-size-in-mysql.html – rathishDBA