:: Anbieterverzeichnis :: Globale Branchen
:: SELFPHP Forum ::
Fragen rund um die Themen PHP?
In über
130.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
|
Größe einer MySQL-Datenbank ermitteln |
|
SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an.
Weitere Informationen
Beispielaufgabe
Größe einer MySQL-Datenbank ermitteln.
Beschreibung
Die Funktion mysqlDbSize() berechnet die Größe einer Datenbank in Bytes und gibt als Ergebnis die Größe in Bytes und als formatierten Wert zurück. Die Funktion holt dabei Informationen zu der Datenbank und geht nacheinander jede Tabelle durch, um die jeweiligen Tabellengrößen zu addieren.
<?PHP
function mysqlDbSize( $database ) {
$sql = "SHOW TABLE STATUS FROM " . $database;
$result = @mysql_query( $sql );
$dbSize = 0;
while( ( $row = @mysql_fetch_array( $result, MYSQL_ASSOC ) ) == true ){
$dbSize += $row["Data_length"] + $row["Index_length"];
}
$size['bytes'] = $dbSize;
$size['format'] = binary_multiples($dbSize,false);
return $size;
}
?>
|
Zusatzfunktionen
<?PHP
function binary_multiples($size, $praefix=true, $short= true)
{
if($praefix === true)
{
if($short === true)
{
$norm = array('B', 'kB', 'MB', 'GB', 'TB', 'PB',
'EB', 'ZB', 'YB');
}
else
{
$norm = array('Byte',
'Kilobyte',
'Megabyte',
'Gigabyte',
'Terabyte',
'Petabyte',
'Exabyte',
'Zettabyte',
'Yottabyte'
);
}
$factor = 1000;
}
else
{
if($short === true)
{
$norm = array('B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB',
'EiB', 'ZiB', 'YiB');
}
else
{
$norm = array('Byte',
'Kibibyte',
'Mebibyte',
'Gibibyte',
'Tebibyte',
'Pebibyte',
'Exbibyte',
'Zebibyte',
'Yobibyte'
);
}
$factor = 1024;
}
$count = count($norm) -1;
$x = 0;
while ($size >= $factor && $x < $count)
{
$size /= $factor;
$x++;
}
$size = sprintf("%01.2f", $size) . ' ' . $norm[$x];
return $size;
}
?>
|
Anwendungsbeispiel
<?PHP
$conn = @mysql_connect("localhost", "mysql_user", "mysql_password");
if (!$conn) {
echo "Fehlende Verbindung zur DB: " . mysql_error();
exit;
}
// Datenbankname
$database = 'selfphp-testdb';
print_r( mysqlDbSize( $database ) );
?>
|
Ausgabebeispiel: Browseransicht
Array
(
[bytes] => 616559
[format] => 602.11 KiB
)
|
|
|
|
|
|
:: Anbieterverzeichnis ::
Webhosting/Serverlösungen
Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?
Sie sind nur ein paar Klicks davon entfernt!
|