Russian Qt Forum

Программирование => Базы данных => Тема начата: CL0NE от Декабрь 01, 2010, 11:27



Название: Compress SQLite
Отправлено: CL0NE от Декабрь 01, 2010, 11:27
Возникла идея попробовать использовать сжатый файл базы SQLite. Логично, что для ее использования, придется выгружать целиком файл. Первый вариант (простейший), что пришел в голову - распаковка во временный файл с последующей загрузкой.
А как бы вы решили такую задачу? (Колебался в какую ветку поместить тему, потому выбрал наиболее подходящую ;D)


Название: Re: Compress SQLite
Отправлено: sne от Декабрь 01, 2010, 12:44
Элементарно) я бы просто задал себе вопрос ЗАЧЕМ??? И все решилось бы само собой =)


Название: Re: Compress SQLite
Отправлено: xokc от Декабрь 01, 2010, 22:38
Я бы решил эту задачу сжатием конкретных полей БД, которые хорошо поддаются сжатию (типа текстовых BLOB). И не трогал бы файл БД.


Название: Re: Compress SQLite
Отправлено: Amigo_sa от Декабрь 02, 2010, 19:47
Я бы решил эту задачу сжатием конкретных полей БД, которые хорошо поддаются сжатию (типа текстовых BLOB). И не трогал бы файл БД.
Мне тоже кажется, что файл БД не стоит трогать,он и так по максимуму минимизирует свой объем. Если база получается довольно большой, то можно время от времени проводить процедуру разряжения - перенос данных потерявших актуальность в архивную бд.


Название: Re: Compress SQLite
Отправлено: xokc от Декабрь 04, 2010, 21:00
Красиво сказал
он и так по максимуму минимизирует
:)


Название: Re: Compress SQLite
Отправлено: sne от Декабрь 05, 2010, 18:40
В БД важен не ее объем, а скорость доступа к данным. Следовательно оптимизируется именно скорость. Так, например, добавление ключа может увеличить размер занимаемого БД места процентов на 5 :)

Собственно, топикстартер наверняка сам не понимает, зачем ему сжатая БД. Единственный вариант, к примеру, табличка с bmp аватарками пользователей (остальные форматы уже имеют сжатие в алго), либо большие текстовые блоки, книжки или маны, но и тут использование сжатия в купу с блоб полями - спорный момент. Процессорное время которого всегда и так не хватает, пойдет на бесполезную работу.