Автор Тема: размер базы MySQL  (Прочитано 3480 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
размер базы MySQL
« : 12 Августа 2002, 22:28:59 »
Можно ли как-нидь узнать размер (кб\\мб) mysql`ной базы "малой кровью" (не залезая в mysql/data/%%db_name%%)? (язык - Perl)???
Не все коту матрица.

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
размер базы MySQL
« Ответ #1 : 13 Августа 2002, 09:29:41 »
Вряд ли это лучший вариант, но можно так:

use имя_БД;
show table status;

и просуммировать значения нужных полей.

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
размер базы MySQL
« Ответ #2 : 13 Августа 2002, 09:31:08 »
SHOW TABLE STATUS FROM db_name
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
размер базы MySQL
« Ответ #3 : 13 Августа 2002, 09:39:15 »
:-)) Я же говорил, что, наверное, есть варианты получше.

Оффлайн Fluke

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 62
  • +0/-0
  • 0
    • Просмотр профиля
размер базы MySQL
« Ответ #4 : 23 Августа 2002, 20:47:56 »
На 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 уважением.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28