Teil von  SELFPHP   Teil von  Code Snippets / MySQL / Datenbank Informationen
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++



:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP? In über 120.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
Größe einer MySQL-Datenbank ermitteln





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$resultMYSQL_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$shorttrue)
{

    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_rmysqlDbSize$database ) );

?>



Ausgabebeispiel: Browseransicht

Array
(
    [bytes] => 616559
    [format] => 602.11 KiB
)






 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


Microsoft Deutschland GmbH
twosteps.net - ...Premium-Webhosting
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2009 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt