powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite. Помогите плз разобраться с размером БД
6 сообщений из 6, страница 1 из 1
SQLite. Помогите плз разобраться с размером БД
    #36164142
Sanctor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В БД содержится куча текстов, разбитых на таблицы по категориям.
Суммарный объем - 19.3 ГБ. Размер страницы - 4096
просматривая файл, сгенеренный sqlite_analyser, заметил интересную вещь:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
*** Table TXT_101_CONTENT ********************************************

Percentage of total database..........   0.45%   
Number of entries..................... 20000     
 Bytes of storage consumed ............. 92741632  
 Bytes of payload ...................... 73767042    79.5% 
Average payload per entry............. 3688.35   
Average unused bytes per entry........ 923.57    
Average fanout........................ 350.00    
Fragmentation.........................  32.4%    
Maximum payload per entry............. 205377    
Entries that use overflow............. 5471        27.4% 
Index pages used...................... 47        
Primary pages used.................... 16447     
Overflow pages used................... 6148      
Total pages used...................... 22642     
Unused bytes on index pages........... 27488       14.3% 
Unused bytes on primary pages......... 17950212    26.6% 
Unused bytes on overflow pages........ 493783       2.0% 
 Unused bytes on all pages ............. 18471483    19.9%

Получается, что около 20% объема просто гуляет?
Из-за чего такое происходит и как этого избежать? Все-таки сэкономленные 3.8 ГБ на винте лишними не будут.
Возможно, нужно изменить размер страницы?
...
Рейтинг: 0 / 0
SQLite. Помогите плз разобраться с размером БД
    #36164578
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Если вы готовы втрое потерять в производительности ради экономии 10% места на диске, поставьте размер страницы 1кб.

P.S. Интересно, что вам мешает использовать сжатие данных. Экономия будет раз в 10, если не выше, в зависимости от содержимого.
...
Рейтинг: 0 / 0
SQLite. Помогите плз разобраться с размером БД
    #36166141
Sanctor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MBG,
спасибо за ответ

значит, таки размер страницы.

а как в SQLite можно задействовать сжатие данных
...
Рейтинг: 0 / 0
SQLite. Помогите плз разобраться с размером БД
    #36166407
Фотография PPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanctorMBG,
а как в SQLite можно задействовать сжатие данных

+1 и как это сказывается на производительсности?
...
Рейтинг: 0 / 0
SQLite. Помогите плз разобраться с размером БД
    #36166814
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Размер страницы не имеет смысла ставить отличным от размера блока ФС. В линуксе стандартный размер блока для ext3 равен 4 кб.

Сжатие реализуется функциями или измененной прослойкой управления страницами памяти.
Первый вариант можете взять из моего deb-репозитория
http://mobigroup.ru/page/debian
или здесь
http://mobigroup.ru/files/sqlite-ext/compress/

Использован zlib-алгоритм, что при сжатии и распаковке дает прирост скорости за счет значительного уменьшения IO при небольшом увеличении нагрузки на процессор.
...
Рейтинг: 0 / 0
SQLite. Помогите плз разобраться с размером БД
    #36166857
Sanctor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а, ясно
такое уже используется
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite. Помогите плз разобраться с размером БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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