Teil von  SELFPHP   Teil von  Code Snippets / MySQL / Tabellen-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-Tabelle ermitteln





Beispielaufgabe

Größe einer MySQL-Tabelle ermitteln.



Beschreibung

Die Funktion mysqlTableSize() berechnet die Größe einer Datenbank-Tabelle in Bytes und gibt als Ergebnis die Größe in Bytes und als formatierten Wert zurück. Zusätzlich werden in dem zurückgegebenen Array noch der Datenbankname und der Tabellenname mit aufgenommen.




<?PHP 

function mysqlTableSize$database$table ) {
    
    
$sql "SHOW TABLE STATUS FROM " $database;
    
    
$result = @mysql_query$sql );
    
    
$dbSize 0;
    
    while( ( 
$row = @mysql_fetch_array$resultMYSQL_ASSOC ) ) == true ){
        
        if ( 
$row["Name"] == $table ) {

            
$dbSize += $row["Data_length"] + $row["Index_length"]; 
            
        }
                
    }
    
    
$size['db'] = $database;
    
    
$size['name'] = $table;
    
    
$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';

// Tabellenname
$table 'help_topic';

print_rmysqlTableSize$database$table ) );

?>



Ausgabebeispiel: Browseransicht

Array
(
    [db] => selfphp-testdb
    [name] => help_topic
    [bytes] => 424332
    [format] => 414.39 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