Blog. Just Blog

Как узнать размер базы MySQL

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Web-мастеру и не только | Автор: ManHunter
Как узнать размер базы MySQL
Как узнать размер базы MySQL

Иногда бывает нужным прикинуть размер базы MySQL, который занимает ваш проект. Например, чтобы не вылезти за ограничения хостинга или вовремя обнаружить аномальное разрастание базы в случае программной ошибки, да или просто для спортивного интереса.

Простой пример кода на PHP. Тут все данные тестовые, в реальном проекте укажите свои логины-пароли и название базы, размер которой вы хотите получить.
  1. // Подключение к базе
  2. $dbx=mysqli_connect('localhost''user''password');
  3. mysqli_select_db($dbx'my_database');
  4.  
  5. $size=0;
  6.  
  7. // Получение информации о всех таблицах
  8. $query="SHOW TABLE STATUS";
  9. $res1=mysqli_query($dbx,$query);
  10. while($table=mysqli_fetch_array($res1)) {
  11.     $size+=($table['Index_length']+$table['Data_length']);
  12. }
  13.  
  14. // Полный размер базы
  15. echo $size;
Для получения размера конкретной таблицы надо заменить запрос на SHOW TABLE STATUS WHERE `name`='table_name'. Имейте в виду, что фактический размер базы на диске может быть больше из-за особенностей файловой системы. Для красивого вывода полученного значения можно использовать эту функцию.

Если вы любитель консоли и у вас есть доступ к серверу, то размер нужной базы можно посмотреть одним запросом:

SELECT SUM(`data_length`+`index_length`) AS `size`
FROM `information_schema`.`TABLES`
WHERE `table_schema`='my_database'

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

Поделиться ссылкой ВКонтакте
Просмотров: 1562 | Комментариев: 0

Метки: PHP, MySQL
Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
Комментариeв нет

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2025
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0059 сек.) / Память: 4.5 Mb
Наверх