Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RusFAQ.ru: Базы данных SQL


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Базы данных SQL

Выпуск № 128
от 05.08.2006, 18:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 318, Экспертов: 38
В номере:Вопросов: 1, Ответов: 3


Вопрос № 50711: Здравствуйте, Мне нужно узнать размер конкретной таблицы в СУБД MySQL. Ещё нужен размер всей базы данных. Собственно, вопрос: как это сделать? Если непонятно о чём речь, взгляните на форум phpBB. Там в админской части есть следующая...

Вопрос № 50.711
Здравствуйте,

Мне нужно узнать размер конкретной таблицы в СУБД MySQL. Ещё нужен размер всей базы данных. Собственно, вопрос: как это сделать?

Если непонятно о чём речь, взгляните на форум phpBB. Там в админской части есть следующая надпись: Размер базы данных: 71Kb (цифра к примеру). Вот примерно такую вещь мне нужно реализовать.

Спасибо всем кто поможет.
Отправлен: 31.07.2006, 17:59
Вопрос задал: Марк Крейн (статус: Студент)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: LastSoul
Здравствуйте, Марк Крейн!

К сожалению нет под рукой исходников phpBB, но подозреваю что в данном случае размер БД определяется файловой функцией:
int filesize ( string filename)

Ответ отправил: LastSoul (статус: 8-ой класс)
Ответ отправлен: 31.07.2006, 18:42
Оценка за ответ: 2
Комментарий оценки:
А в качестве параметра filename я что возьму? Файл с расширением MYI или FRM? :) Мне нужен абсолютно чёткий и точный ответ без подозрений.

Отвечает: Игорь Елизаров
Здравствуйте, Марк Крейн!
посмотреть объем, занимаемый таблицей MSSQL можно с помощью служебной процедуры

sp_spaceused имяТаблицы

если имя таблицы не указано, выдается справка по объему текущей базы.
если имя таблицы указано, то выдается информация
по таблице
- наименование
- число записей
- зарезервированный объем
- занятый объем
- объем индексных файлов
- незанятый объем
пример:

sp_spaceused budget
С уважением, Игорь

Ответ отправил: Игорь Елизаров (статус: 5-ый класс)
Ответ отправлен: 31.07.2006, 21:11
Оценка за ответ: 1
Комментарий оценки:
Я же в вопросе указал используемую СУБД: MySQL! При чём тут Microsoft SQL Server? Ответ в данном случае совершенно не по теме.

Отвечает: dianacode
Доброе время суток, Марк Крейн

а что Вам мешает сделать так:

use my_database;

show table status;

лезем сюда и смотрим - http://en.mysql.ru/doc/refman/5.0/en/show-table-status.html

суммируем поле Data_length в цикле и получаем искомое

могу пример на perl предложить

с уважением, удачи


---------
There is more than one way to do it
Ответ отправила: dianacode (статус: 1-ый класс)
Ответ отправлен: 01.08.2006, 09:53


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.35 от 27.07.2006
Яндекс Rambler's Top100

В избранное