webForumDet fria alternativet

storlek på mysqltabell

PHPur PHP

4 svar · 214 visningar · startad av visslaren

visslarenMedlem sedan juli 20011 222 inlägg
#1

Skulle behöva en funktion som tar reda på hur stor en tabell är i en mysqldatabas, alltså hur mycket utrymme den tar upp.
Har letat både här på wF och i manualen och även på andra ställen utan att hitta något om det. :(

Någon som kan hjälpa mig?
Tack på förhand.

visslarenMedlem sedan juli 20011 222 inlägg
#2

Ingen som kan hjälpa eller komma med förslag eller dylikt? :)

Kent.JMedlem sedan aug. 2001153 inlägg
#3

system("du /var/lib/mysql/<databas>/<tabell>.*"); :)

Fast det funkar nog inte, men var ett förslag iaf :)

stevenetMedlem sedan juni 20001 251 inlägg
#4

Skrev ihop ett litet "hack " för just detta. MySQL-frågan kan säkert effektiveras en del. Size-funktionen hittade jag i ett skript av pimme.

<?
$db_host = "localhost";
$db_namn = "databasnamn";
$db_user = "anvandare";
$db_pass = "lösenord";
$db_tabl = "databastabell";
$db = mysql_connect ("$db_host", "$db_user", "$db_pass");
mysql_select_db("$db_namn",$db) or die( "$db_namn kunde inte hittas");

function size($size){ 
    $antal = 0; 
    while($size > 1024){ 
        $size /= 1024; 
        $antal++; 
    } 
    switch($antal){ 
        case 1 : $pref = "k"; break; 
        case 2 : $pref = "M"; break; 
        case 3 : $pref = "G"; break; 
        case 4 : $pref = "T"; break; 
    } 
    return round($size, 2) . " " . $pref . "b"; 
} 

$sql=mysql_query("SHOW TABLE STATUS FROM {$db_namn}") or die(mysql_error());
while($rad=mysql_fetch_row($sql)) {
    if($rad[0]==$db_tabl) {
        $size=size($rad[5]);
        echo "Storlek på {$db_tabl}: {$size}<br>";
        break;
    }
}

?>
visslarenMedlem sedan juli 20011 222 inlägg
#5

Tack så hemskt mycket, Stevenet :D det fungerar utmärkt!

Kent.J: inte provat om din ide fungerade, men tack iaf :)

129 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)