powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Размер БД
5 сообщений из 5, страница 1 из 1
Размер БД
    #33115058
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Есть БД, состаящая из одной таблицы следующей структуры:

CREATE TABLE `messages` (
`messageid` int(11) NOT NULL default '0',
`forumid` tinyint(4) NOT NULL default '0',
`description` varchar(80) default NULL,
`body` mediumtext,
`readed` tinyint(4) default NULL,
`firstdate` datetime default NULL,
`lastdate` datetime default NULL,
`numofdownload` tinyint(4) default NULL,
`numofanswers` int(11) default '0',
`flag` tinyint(4) default NULL,
PRIMARY KEY (`forumid`,`messageid`),
KEY `fid_date` (`forumid`,`lastdate`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251

В поле body (mediumtext) сохраняются текстовые файлы (*.html).

Сейчас размер БД 150Мб. Если ее сжать zip-ом размер файла становится 5Мб, то есть коэффициент сжатия 30!!!
Попробовал оценить объем текстовых данных, которые закачал в БД - примерно 40-50Мб. То есть, при помещении в БД 1 Мб текстовых данных файл БД увеличивается на 3Мб.
Я конечно понимаю, что СУБД хранит данные в разреженном виде, но эта первая СУБД, в которой я вижу такую разницу в объемах. Это нормально?

p.s. Данные из таблицы никогда не удаляются. Хотя, это, пожалуй, не важно.
...
Рейтинг: 0 / 0
Размер БД
    #33116222
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПопробовал оценить объем текстовых данных
А что если спросить:
Код: plaintext
1.
SELECT SUM(IFNULL(LENGTH(body),  0 ) + IFNULL(LENGTH(description),  0 )), COUNT(*)
FROM `messages`
?

--
AnyDAC ( www.da-soft.com ) - Oracle, MySQL, MSSQL, MSAccess, IBM DB2,
Sybase ASA, DbExpress, ODBC freeware data access framework.
...
Рейтинг: 0 / 0
Размер БД
    #33116320
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может, там юникод поставлен, а текст взвешивался в обычной кодировке?)
...
Рейтинг: 0 / 0
Размер БД
    #33119302
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry ArefievSELECT SUM(IFNULL(LENGTH(body), 0) + IFNULL(LENGTH(description), 0)), COUNT(*)
FROM `messages`

153 827 698,000 6 934

Спасибо. Идея понятна - таким образом я могу оценить средний размер (body+description). Полученные результат выглядит несколько странным - я бы сказал, что должно быть раза в 2 меньше.

DocAlА может, там юникод поставлен, а текст взвешивался в обычной кодировке?)

Юникод задается на уровне БД или сервера? Где это можно проверить?
...
Рейтинг: 0 / 0
Размер БД
    #33119351
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОсирисПолученные результат выглядит несколько странным - я бы сказал, что должно быть раза в 2 меньше.
Получи самые длинные значения и посмотри их воочую - может быть ты увидишь то чего не ожидал. Или можно получить дамп (mysqldump.exe) таблицы и просмотреть его.

Удачи,
Дмитрий
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Размер БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]