суббота, 20 марта 2010 г.

zlib-enabled FTS3 for SQLite 2.6.23

Выложил свои патчи для zlib-сжатия в модуле полнотекстового поиска FTS3 для SQLite, теперь база данных с полнотекстовым индексом примерно вчетверо компактнее. Патч брать здесь:
http://sqlite.mobigroup.ru/src/vinfo/d3d9906674
и функции сжатия/распаковки здесь:
http://sqlite.mobigroup.ru/src/dir?name=ext/compress
Или качать последнюю версию моей сборки деб-пакета SQLite.

Имеется одна неприятность - запрос count(*) выполняется медленно, т.к. приводит к распаковке всего контента базы, так уж в эскулайт работает интерфейс виртуальных таблиц. Решения пока не нашел, но есть обходной путь - обращаться напрямую к таблице %_content:

sqlite> select count(*) from file_text;
8430
CPU Time: user 0.508032 sys 0.012000
sqlite> select count(*) from file_text_content;
8430
CPU Time: user 0.004000 sys 0.000000

С учетом размеров современных электронных библиотек считаю, что сжатие критически необходимо, потому и выкладываю патч с вышеназванной недоработкой.

Комментариев нет:


(C) Alexey Pechnikov aka MBG, mobigroup.ru