Объем базы данных php

Объем базы данных php

В этой небольшой статье вы узнаете, как получить размер вашей базы данных (БД) MySQL используя язык программирования PHP.

Для начала нам потребуется простая функция formatfilesize(), которая будет преобразовывать размер в байтах в более «читаемый вид».

function formatfilesize( $data )

return round( ( $data / 1024 ), 1 ) . «k»;

return round( ( $data / 1024000 ), 1 ) . « MB»;

Думаю, разобраться вам будет с нею несложно.

Как видите, нам потребуется предварительно извлечь (заголовки) header information нашего звукового файла типа длительности duration, bit rate, audio channel и т.д.

Чтобы было понятнее, это делает функция unpack для декодирования файла:

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

Определим переменную, которая будет содержать имя нашей базы данных. Замените «databasename» на имя своей базы данных:

Ну а теперь нам осталось главное — вычислить размер нашей БД. Это делается очень просто — необходимо просто пройтись по каждой таблице БД сложить размер данных и индекса БД:

mysql_select_db( $dbname );
$result = mysql_query( «SHOW TABLE STATUS» );
$dbsize = 0;

while( $row = mysql_fetch_array( $result ) )

$dbsize += $row[ «Data_length» ] + $row[ «Index_length» ];

Сейчас наш размер БД в байтах содержится в переменной $dbsise. Нам осталось лишь воспользваться упомянутой в начале статьи функцией formatfilesize() для форматирования этого размера (разделим его на кило-, мега-):

echo «Размер базы данных составляет » . formatfilesize( $dbsize );

Вот, собственно, и все. Удачи!

Источник

Как узнать размер базы данных MySQL через php

В этой небольшой статье вы узнаете, как получить размер вашей базы данных (БД) MySQL используя язык программирования PHP.
Для начала нам потребуется простая функция formatfilesize(), которая будет преобразовывать размер в байтах в более «читаемый вид».

 // kilobytes else if( $data < 1024000 ) < return round( ( $data / 1024 ), 1 ) . "k"; >// megabytes else < return round( ( $data / 1024000 ), 1 ) . " MB"; >> ?>

Далее нам естественно необходимо подключиться к самой базе данных MySQL, чтобы узнать ее размер.
Определим переменную, которая будет содержать имя нашей базы данных. Замените «databasename» на имя своей базы данных:

Ну а теперь нам осталось главное — вычислить размер нашей БД. Это делается очень просто — необходимо просто пройтись по каждой таблице БД сложить размер данных и индекса БД:

Сейчас наш размер БД в байтах содержится в переменной $dbsise. Нам осталось лишь воспользваться упомянутой в начале статьи функцией formatfilesize() для форматирования этого размера (разделим его на кило-, мега-): melbet отзывы

Размер базы данных составляет " . formatfilesize( $dbsize ) . "

"; ?>

Вот, собственно, и все. Удачи!
Автор: Николай Рудченко
Источник: //www.codeguru.com.ua/

Скажите, этот способ сильно от вашего отличается и можно ли его использовать?
SELECT sum(ROUND(index_length/1024/1024,2) ) +
sum(ROUND(data_length/1024/1024,2) ) AS total_size_mb
FROM
information_schema.tables
WHERE table_schema=»

Вроде одинаковые результаты получаются.

Источник

PHP + MiSqli узнать размер базы данных

Часто при разработке приложений для взаимодействия с базой данных MySql возникает необходимость опепративно узнать её размер не через интерфейс админки, а средствами скрипта на php что бы в случае превышения лимита выполнить необходимые деёствия на сайте или сигнализировать администратору.

Здесь я привожу небольшой класс для работы с базой данных через функционал php mysqli который позволит соединится с базой данных, узнать её размер в байтах и отформатировать результат для удобочитаемости в Кб, Мб, Гб.

class bazaInfo< public function connect()< $db_host = 'localhost'; $db_user = 'LOGIN'; $db_password = 'PASS'; $db_name = 'BAZA NAME'; $link = new MySQLi($db_host, $db_user, $db_password, $db_name); if ($link->connect_error) < die('

'.$link->connect_errno.' - '.$link->connect_error.'

'); > $link->query("SET NAMES 'cp1251'"); return $link; //echo "

Вы подключились к MySQL!

"; > public function formatfilesize($data) < // bytes if( $data < 1024 ) < return $data . " bytes"; >// kilobytes else if( $data < 1024000 ) < return round( ( $data / 1024 ), 1 ) . "k"; >// megabytes else < return round( ( $data / 1024000 ), 1 ) . " MB"; >> public function bazaSize()< $mysqli=self::connect(); $sql = "SHOW TABLE STATUS"; $result = $mysqli->query($sql); $dbsize = 0; while($R = mysqli_fetch_object($result)) < $dbsize += $R->Data_length + $R->Index_length; > return self::formatfilesize($dbsize); > > // Выводим данные $bz=new bazaInfo; $size = $bz->bazaSize(); echo $size;

Функция connect() устанавливает соединение с базой данных и оперделяет кодировку.

Функция formatfilesize( $data ) форматирует числовое представление размера базы данных.

И ключевая функция bazaSize() собственно вычисляет и возвращает размер базы данных, с помощью внутренних вызовов пердыдущих функций осуществляет соединение и форматирование результата.

Подсчёт размера базы данных осуществляется суммарным значением веса каждой таблицы + индексной составляющей.

Следующий код более универсален и позволяет:

Узнать размер базы данных в одном запросе:

class bazaInfo< public function connect()< $db_host = 'localhost'; $db_user = 'LOGIN'; $db_password = 'PASS'; $db_name = 'BAZA NAME'; $link = new MySQLi($db_host, $db_user, $db_password, $db_name); if ($link->connect_error) < die('

'.$link->connect_errno.' - '.$link->connect_error.'

');> $link->query("SET NAMES 'utf8'"); $baza['link'] = $link; $baza['db_name'] = $db_name; return $baza; //echo "

Вы подключились к MySQL!

"; > public function bazaSize() < $baza=self::connect(); $mysqli=$baza['link']; $db_name = $baza['db_name'] $sql = "SELECT CONCAT(round(sum(data_length + index_length) / 1024 / 1024, 2), ' MB') AS size FROM information_schema.TABLES WHERE table_schema = '$db_name'"; // выполнение запроса и получение результата $result = mysqli_query($mysqli, $sql); $row = mysqli_fetch_assoc($result); // закрытие подключения к базе данных mysqli_close($mysqli); //отправляем результат return $row['size']; >> // Выводим данные $bz=new bazaInfo; $size = $bz->bazaSize(); echo echo 'Размер базы данных: '.$size.'Mb';

Дата публикации: 2020-05-01

Источник

Объем базы данных php

В этой небольшой статье вы узнаете, как получить размер вашей базы данных (БД) MySQL используя язык программирования PHP.

Для начала нам потребуется простая функция formatfilesize(), которая будет преобразовывать размер в байтах в более «читаемый вид».

function formatfilesize( $data )

return round( ( $data / 1024 ), 1 ) . «k»;

return round( ( $data / 1024000 ), 1 ) . « MB»;

Думаю, разобраться вам будет с нею несложно.

Как видите, нам потребуется предварительно извлечь (заголовки) header information нашего звукового файла типа длительности duration, bit rate, audio channel и т.д.

Чтобы было понятнее, это делает функция unpack для декодирования файла:

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

Определим переменную, которая будет содержать имя нашей базы данных. Замените «databasename» на имя своей базы данных:

Ну а теперь нам осталось главное — вычислить размер нашей БД. Это делается очень просто — необходимо просто пройтись по каждой таблице БД сложить размер данных и индекса БД:

mysql_select_db( $dbname );
$result = mysql_query( «SHOW TABLE STATUS» );
$dbsize = 0;

while( $row = mysql_fetch_array( $result ) )

$dbsize += $row[ «Data_length» ] + $row[ «Index_length» ];

Сейчас наш размер БД в байтах содержится в переменной $dbsise. Нам осталось лишь воспользваться упомянутой в начале статьи функцией formatfilesize() для форматирования этого размера (разделим его на кило-, мега-):

echo «Размер базы данных составляет » . formatfilesize( $dbsize );

Вот, собственно, и все. Удачи!

Источник

Как узнать размер базы данных MySQL через php

В этой небольшой статье вы узнаете, как получить размер вашей базы данных (БД) MySQL используя язык программирования PHP.
Для начала нам потребуется простая функция formatfilesize(), которая будет преобразовывать размер в байтах в более «читаемый вид».

 // kilobytes else if( $data < 1024000 ) < return round( ( $data / 1024 ), 1 ) . "k"; >// megabytes else < return round( ( $data / 1024000 ), 1 ) . " MB"; >> ?>

Далее нам естественно необходимо подключиться к самой базе данных MySQL, чтобы узнать ее размер.
Определим переменную, которая будет содержать имя нашей базы данных. Замените «databasename» на имя своей базы данных:

Ну а теперь нам осталось главное — вычислить размер нашей БД. Это делается очень просто — необходимо просто пройтись по каждой таблице БД сложить размер данных и индекса БД:

Сейчас наш размер БД в байтах содержится в переменной $dbsise. Нам осталось лишь воспользваться упомянутой в начале статьи функцией formatfilesize() для форматирования этого размера (разделим его на кило-, мега-): melbet отзывы

Размер базы данных составляет " . formatfilesize( $dbsize ) . "

"; ?>

Вот, собственно, и все. Удачи!
Автор: Николай Рудченко
Источник: //www.codeguru.com.ua/

Скажите, этот способ сильно от вашего отличается и можно ли его использовать?
SELECT sum(ROUND(index_length/1024/1024,2) ) +
sum(ROUND(data_length/1024/1024,2) ) AS total_size_mb
FROM
information_schema.tables
WHERE table_schema=»

Вроде одинаковые результаты получаются.

Источник

Читайте также:  Telegram bot php curl
Оцените статью