Forum Webscript.Ru
Общие => Базы данных => Тема начата: Croaker от 12 Августа 2002, 22:28:59
-
Можно ли как-нидь узнать размер (кб\\мб) mysql`ной базы "малой кровью" (не залезая в mysql/data/%%db_name%%)? (язык - Perl)???
-
Вряд ли это лучший вариант, но можно так:
use имя_БД;
show table status;
и просуммировать значения нужных полей.
-
SHOW TABLE STATUS FROM db_name
-
:-)) Я же говорил, что, наверное, есть варианты получше.
-
На Perl это может выглядеть например вот так:
#!/usr/bin/perl -w
use DBI;
use strict;
my($dbh, $sth, $sum, $hash_ref);
$sum = 0;
$dbh = DBI->connect("DBI:mysql:your_db", \'your_login\', \'your_pass\') or die $DBI::errstr;
$sth = $dbh->prepare("SHOW TABLE STATUS") or die "$dbh->errstr()\\n";
$sth->execute();
while($hash_ref = $sth->fetchrow_hashref())
{$sum += $hash_ref->{Data_length};}
print "Total data length is $sum bytes\\n";
$sth->finish();
$dbh->disconnect();
exit(0);
C уважением.