|
Сборки SQLite
|
|||
---|---|---|---|
#18+
Выкладываю мою сборку SQLite 3.7.0 c ICU для WINDOWS Опции компиляции: ENABLE_COLUMN_METADATA; ENABLE_FTS3; ENABLE_ICU; ENABLE_RTREE; TEMP_STORE=1; THREADSAFE=1. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2010, 00:47 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
Сборка SQLite 3.7.0.1 c ICU для ОС WINDOWS Опции компиляции: ENABLE_COLUMN_METADATA ENABLE_FTS3 ENABLE_ICU ENABLE_LOAD_EXTENSION ENABLE_RTREE TEMP_STORE=1 THREADSAFE=1 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 00:20 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
Alexbootch, Дело хорошее, но стоило бы еще размер страницы и кэша подкрутить. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 22:18 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
MBGAlexbootch, Дело хорошее, но стоило бы еще размер страницы и кэша подкрутить. Какой размер страницы и кэша нужно? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2010, 22:27 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
AlexbootchКакой размер страницы и кэша нужно? Для PostgreSQL, MS SQL и, возможно, других популярных СУБД размер страницы 8к. По моим тестам - для эскулайт оптимален этот же размер, скорость работы с диском утраивается по сравнению с дефолтовой страницей 1к. Что касается размера кэша, тут интереснее. Увеличив в 8 раз размер страницы, мы во столько же раз увеличили размер кэша. По умолчанию 2000 страниц, считая 8к каждая, получится 16 Мб кэш. Но и этого мало. Полагаю, для десктопа оптимально 64Мб, т.е. размер кэша равен 8000 страниц. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2010, 16:14 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
MBG, если я все правильно понял - при компиляции добавить такие ключи: SQLITE_DEFAULT_PAGE_SIZE=8192 SQLITE_DEFAULT_CACHE_SIZE=8000 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2010, 01:15 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
Alexbootch MBG, если я все правильно понял - при компиляции добавить такие ключи: SQLITE_DEFAULT_PAGE_SIZE=8192 SQLITE_DEFAULT_CACHE_SIZE=8000 Еще стоит указать DEFAULT_TEMP_CACHE_SIZE=2000. Но это далеко не все, что полезно подкрутить. Для десктопа предлагаю собирать вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Здесь включены некоторые дополнительные возможности полнотекстового поиска и оптимизатора. По сравнению со значениями по умолчанию такие настройки дают огромный прирост производительности (для эскулайт умолчания ориентированы традиционно для эмбеддед устройств). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2010, 13:14 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
А что еще кроме следующего влияет на производительность ? Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2010, 13:25 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
Dmitry ArefievА что еще кроме следующего влияет на производительность ? -DSQLITE_ENABLE_STAT2, вестимо. Об этом мало информации, но планировщик эскулайт пользуется собранной статистикой для оптимизации запросов. Сбор статистики выполняется командой ANALYZE, ее временами нужно запускать, если есть проблемы с производительностью (актуально для средних и больших баз). У меня базы от нескольких мегабайт до гигабайт, тестовые до десятков гигабайт, и указанный параметр весьма актуален. Поскольку апстрим недавно поддался моим аргументам и включил в свои тесты базы в 5 гигабайт (наконец-то!), то можно считать базы в гигабайты и десятки гигабайт официально поддерживаемыми и спокойно работать с ними. Кстати, на SSD дисках эскулайт показывает чудеса производительности, 100 миллионов записей с полнотекстовым поиском и индексами - запросто на нетбуке. Тесты я выкладывал: http://book.mobigroup.ru/dir?name=web_project_DBMS/distributed_schema P.S. Сейчас планирую покупать сервер с рэйдом на несколько терабайт, будет интересно проверить, как терабайтные эскулайт базы будут работать. На 32-бит ОС, к тому же :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2010, 16:38 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
MBG, скомпилировал библиотеку SQLite 3.7.0.1 с предложенными Вам ключами. От себя добавил ключ -DSQLITE_ENABLE_LOAD_EXTENSION=1, т.к. использую дополнительные расширения библиотеки SQLite. Протестировал - действительно скорость работы на больших базах данных заметно увеличивается. Оптимизированную библиотеку SQLite 3.7.0.1 собранную с ключами: -DSQLITE_CORE=1 \ -DSQLITE_ENABLE_COLUMN_METADATA \ -DSQLITE_ENABLE_STAT2 \ -DSQLITE_DEFAULT_RECURSIVE_TRIGGERS=1 \ -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS \ -DSQLITE_ENABLE_RTREE \ -DSQLITE_ENABLE_ICU \ -DSQLITE_DEFAULT_PAGE_SIZE=8192 \ -DSQLITE_DEFAULT_CACHE_SIZE=8000 \ -DSQLITE_DEFAULT_TEMP_CACHE_SIZE=2000 \ -DSQLITE_DEFAULT_FILE_FORMAT=4 \ -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \ -DSQLITE_THREADSAFE=1 \ -DSQLITE_ENABLE_LOAD_EXTENSION=1 \ можно скачать здесь ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2010, 00:07 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
Здравствуйте,Други) Хотел поинтересоваться, какая версия ICU нужна для сборки sqlite 3.7.1(с ключем ENABLE_ICU,естественно) ? А то что-то вот: ,,,, ./.libs/libsqlite3.so: undefined reference to `uregex_matches_44' ./.libs/libsqlite3.so: undefined reference to `uregex_setText_44' ./.libs/libsqlite3.so: undefined reference to `u_isspace_44' ./.libs/libsqlite3.so: undefined reference to `uregex_close_44' ./.libs/libsqlite3.so: undefined reference to `ucol_strcoll_44' ,,,, Без icu собирается и даже работает) icu 4.4.1 тоже собралось и поставилось... сборка под openSuse Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2010, 10:07 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
leoneЗдравствуйте,Други) Хотел поинтересоваться, какая версия ICU нужна для сборки sqlite 3.7.1(с ключем ENABLE_ICU,естественно) ? А то что-то вот: ,,,, ./.libs/libsqlite3.so: undefined reference to `uregex_matches_44' ./.libs/libsqlite3.so: undefined reference to `uregex_setText_44' ./.libs/libsqlite3.so: undefined reference to `u_isspace_44' ./.libs/libsqlite3.so: undefined reference to `uregex_close_44' ./.libs/libsqlite3.so: undefined reference to `ucol_strcoll_44' ,,,, Без icu собирается и даже работает) icu 4.4.1 тоже собралось и поставилось... сборка под openSuse Спасибо Вам же написано - undefined reference, т.е. не определена ссылка. Вывод: при компиляции нужно указать путь до собранной icu, а также перечень подключаемых библиотек. Насчет версии, то версия может быть любая поддерживаемая соответствующей ОС. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2010, 23:09 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
Dmitry ArefievMBG, интересно ... Похоже только ты один умеешь готовить SQLite БД на сотни гиг. Большинство других считают, что SQLite дай Бог потянет 100 записей, сумев выбрать их за пол часа В рассылке sqlite-users есть участники, работающие в продакшене с целыми кластерами баз эскулайт (как пример: 10 серверов с общим объемом ОЗУ 320 гиг, вся память занята эскулайт базами). В то время как у меня базы размером в сто гиг только тестовые были, рабочие не более нескольких десятков гиг. Вот в рунете да, примеров особо не найти, и не только по эскулайт. Dmitry ArefievКстати, для топика больше ничего не прибавилось ? Есть еще действующий проект с базой эскулайт на КПК с винмобайл (несколько десятков пользователей примерно в течении 5-ти лет), а также эскулайт используется в разных проектах как вспомогательная база (например, при перезапуске/выключении серверов приложений в базы эскулайт сбрасываются пользовательские сессии и при старте оттуда восстанавливаются). Также система поиска на базе эскулайт в продакшене работает. За исключением приложения под винмобайл, весь вышеназванный софт есть в моих репозиториях. Если в репозитории покопаться, и еще что-то вспомню :-) Да, вспомнил, есть еще база и утилиты для работы с КЛАДР. Имхо нет особого смысла о таких примерах упоминать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2010, 11:09 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
Оптимизированную библиотеку SQLite 3.7.2 собранную с ключами: -DSQLITE_CORE=1 \ -DSQLITE_ENABLE_COLUMN_METADATA \ -DSQLITE_ENABLE_STAT2 \ -DSQLITE_DEFAULT_RECURSIVE_TRIGGERS=1 \ -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS \ -DSQLITE_ENABLE_RTREE \ -DSQLITE_ENABLE_ICU \ -DSQLITE_DEFAULT_PAGE_SIZE=8192 \ -DSQLITE_DEFAULT_CACHE_SIZE=8000 \ -DSQLITE_DEFAULT_TEMP_CACHE_SIZE=2000 \ -DSQLITE_DEFAULT_FILE_FORMAT=4 \ -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \ -DSQLITE_THREADSAFE=1 \ -DSQLITE_ENABLE_LOAD_EXTENSION=1 \ можно скачать здесь ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2010, 22:55 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
авторОптимизированную библиотеку SQLite 3.7.2 собранную с ключами: И как ее проинсталировать в систему? Пытаюсь создать ODBC Driver и на создании источника данных появляется ошибка 126 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2010, 13:27 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
МиколайИ как ее проинсталировать в систему? Пытаюсь создать ODBC Driver и на создании источника данных появляется ошибка 126 Никак, эта библиотека не является ODBC Driver и предназначена для замены в программах, работающих непосредственно с библиотекой sqlite3.dll ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2010, 20:20 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
Добрых суток! Со сборками вы полезное дело затеяли, ибо у самого возникают проблемы при компиляции под Win32 с SQLITE_ENABLE_ICU. Главное, чего хочу достичь - Case Insensitive для кириллицы при FTS. Код: plaintext 1. 2. 3.
Так вот, попробовал ваши сборки там, где можно заменить sqlite3.dll - SQLite Expert, FireFox SQLite Manager. Итог: 1. БД создаётся 2. таблица с "tokenize=icu ru_RU" создаётся 3. INSERT в такую таблицу не происходит (ошибки ниже) 4. Посему нельзя проверить CI для кириллицы Ошибка FF SQlite Manager: SQLiteManager: Query: INSERT INTO test VALUES('Однажды в студёную зимнюю пору'); - executeStep failed Exception Name: NS_ERROR_FAILURE Exception Message: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageStatement.executeStep] Ошибка SQLite Expert 3.1.11: Exception: ----------------------------------------------------------------------------------------- 2.1 Date : Sat, 11 Sep 2010 21:38:52 +0400 2.2 Address : 009D5ED7 2.3 Module Name : SQLiteExpertPro.exe - (The complete administration tool for SQLite) 2.4 Module Version: 3.1.11.2087 2.5 Type : ESQLiteException 2.6 Message : SQL logic error or missing database. 2.7 ID : D21E 2.8 Count : 1 2.9 Status : New 2.10 Note : Зато: 1. SELECT 'ы' LIKE 'Ы' --> 1 2. таблица с "tokenize=simple" создаётся 3. INSERT в неё происходит 4. Выборка данных происходит, работает Case Insensitive для ENG, но не работает для кириллицы ((( Как думаете, почему не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2010, 22:00 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
aesapronovКак думаете, почему не работает? А коллэйшен ru_RU откуда возьмется? :-) Нужно или его создавать по умолчанию при инициализации SQLite (соответствующий патч можно взять из моего репозитория), или создавать вручную при каждом подключении к БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2010, 20:29 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
MBG Нужно или его создавать по умолчанию при инициализации SQLite (соответствующий патч можно взять из моего репозитория), или создавать вручную при каждом подключении к БД. А можно подробнее что за патч, где взять и как создать колейшн? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2010, 21:50 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
IIITOPORMBG Нужно или его создавать по умолчанию при инициализации SQLite (соответствующий патч можно взять из моего репозитория), или создавать вручную при каждом подключении к БД. А можно подробнее что за патч, где взять и как создать колейшн? А поиск по форуму сделать никак?.. Помогите с like и кодировками ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2010, 10:38 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
Скачал icu.c скомпилировал в libsqliteicu.so при подключению выдает ошибку error during initialization: ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2010, 16:32 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
aesapronov, перезалил библиотеку sqlite 3.7.2 - все должно работать, т.к. не работало из-за того, что в первоначальной библиотеке был битый файл icudt38.dll Проверил все работает Код: plaintext 1. 2. 3.
Так же можно загружать и другие коллэйшены: Код: plaintext
Сортировать с учетом указанного коллэйшена (после его загрузки) Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2010, 19:34 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
MBG, И где в Вашем репозитарии http://mobigroup.ru/debian.html можно сыскать файлы для Windows? Раньше была папка http://mobigroup.ru/files/icu-3.8-win/ но сейчас ее нет. Может быть, повторно выложите куда-нибудь. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2010, 02:16 |
|
Сборки SQLite
|
|||
---|---|---|---|
#18+
Alexbootch Так же можно загружать и другие коллэйшены: Код: plaintext
Проверил с Вашей сборкой optimal_sqlite3_7_2 в SQLite Maestro, получаю ошибку SQL Error: ICU error: ucol_open(): U_FILE_ACCESS_ERROR Как я понимаю, не хватает еще какого-то файла, кроме icudt38.dll, icuin38.dll, icuuc38.dll, mingwm10.dll, sqlite3.dll. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2010, 02:25 |
|
|
start [/forum/topic.php?fid=54&msg=36796656&tid=2008910]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 275ms |
total: | 420ms |
0 / 0 |