Вверх ↑
Этот топик читают: Гость
Ответов: 1891
Рейтинг: 110
#136: 2010-09-30 23:37:12 ЛС | профиль | цитата
Выше - это я
карма: 0
%time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#137: 2010-10-01 01:23:39 ЛС | профиль | цитата
Увы, Alexbootch, версия 3.7.2 показала отвратительные результаты по мультидоступу к базе на чтение, вплоть, до катастрофического зависания основного
Тестировалось одно приложение на регулярную запись и до трех приложений на чтение этой базы. Результаты отвратительные, пришлось откатить на 3.4.2, которая работает прекрасно в таком режиме уже больше двух лет ничего не меня в запросах
карма: 22

0
Ответов: 1891
Рейтинг: 110
#138: 2010-10-01 10:56:05 ЛС | профиль | цитата
nesco писал(а):
Увы, Alexbootch, версия 3.7.2 показала отвратительные результаты по мультидоступу к базе на чтение, вплоть, до катастрофического зависания основного
Тестировалось одно приложение на регулярную запись и до трех приложений на чтение этой базы. Результаты отвратительные, пришлось откатить на 3.4.2, которая работает прекрасно в таком режиме уже больше двух лет ничего не меня в запросах


nesco, так и будет с мультидоступом, т.к. компилировалось с ключом -DSQLITE_THREADSAFE=1, а для многопоточности надо компилировать с ключем -DSQLITE_THREADSAFE=2
карма: 0
%time%
1
Голосовали:Konst
Разработчик
Ответов: 26113
Рейтинг: 2126
#139: 2010-10-01 11:26:31 ЛС | профиль | цитата
Alexbootch, а можно скромно попросить откомпилированную последнюю версию с мультидоступом
карма: 22

0
Ответов: 1891
Рейтинг: 110
#140: 2010-10-01 11:39:03 ЛС | профиль | цитата
nesco, писал(а):
Alexbootch, а можно скромно попросить откомпилированную последнюю версию с мультидоступом


nesco, чето ты все скромничаешь Вечером выложу, т.к. сейчас нужно на работу идти
------------ Дoбавленo в 11.39:
nesco, посмотри еще здесь, т.к. может еще что нужно подкрутить
карма: 0
%time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#141: 2010-10-01 12:42:55 ЛС | профиль | цитата
Ну, там я нашел --
SQLITE_CONFIG_MULTITHREAD и SQLITE_THREADSAFE=2 для установки мультипотокового доступа
SQLITE_TEMP_STORE=3 всегда использовать память для временных результатов
SQLITE_ENABLE_MEMORY_MANAGEMENT
карма: 22

0
Ответов: 1891
Рейтинг: 110
#142: 2010-10-02 23:15:41 ЛС | профиль | цитата
nesco писал(а):
Ну, там я нашел --
SQLITE_CONFIG_MULTITHREAD и SQLITE_THREADSAFE=2 для установки мультипотокового доступа
SQLITE_TEMP_STORE=3 всегда использовать память для временных результатов
SQLITE_ENABLE_MEMORY_MANAGEMENT


nesco, вот держи
карма: 0
%time%
1
файлы: 1optimal_sqlite3obj(1).rar [203KB] [337]
Голосовали:nesco
Разработчик
Ответов: 26113
Рейтинг: 2126
#143: 2010-10-03 00:05:07 ЛС | профиль | цитата
Alexbootch писал(а):
вот держи

Спасибо, на работе попробую, дома нет реальной потоковой базы
карма: 22

0
Ответов: 1891
Рейтинг: 110
#144: 2010-10-03 00:11:35 ЛС | профиль | цитата
nesco, как попробуешь - отпишись.
карма: 0
%time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#145: 2010-10-03 00:13:48 ЛС | профиль | цитата
Alexbootch писал(а):
как попробуешь - отпишись

Гы, отпишусь, если не подвесят меня за фаберже за такие эксперименты
карма: 22

0
Ответов: 1891
Рейтинг: 110
#146: 2010-10-03 00:27:22 ЛС | профиль | цитата
nesco, еще вопрос: сами базы через какую версию sqlite создавались?
карма: 0
%time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#147: 2010-10-03 00:36:34 ЛС | профиль | цитата
Alexbootch писал(а):
сами базы через какую версию sqlite создавались?

Потоковая база создается каждый день в 00 часов, значит, в 00 часов будет создана в новой версии. Одна из баз данных поддержки создана в версии 3.4.2, вторая изменена в новой версии.
карма: 22

0
Ответов: 1891
Рейтинг: 110
#148: 2010-10-03 00:44:12 ЛС | профиль | цитата
nesco писал(а):
Потоковая база создается каждый день в 00 часов, значит, в 00 часов будет создана в новой версии. Одна из баз данных поддержки создана в версии 3.4.2, вторая изменена в новой версии.


Понятно, просто при компиляции с ключом SQLITE_DEFAULT_FILE_FORMAT=4 при при работе с базой, созданной в файловом формате = 4 нужна версия sqlite не ниже 3.6.0

SQLITE_DEFAULT_FILE_FORMAT
SQLITE_DEFAULT_FILE_FORMAT=<1 or 4>

The default schema-level file format used by SQLite when creating new database files is set by this macro. The file formats are all very similar. The difference between formats 1 and 4 is that format 4 understands descending indices and has a tighter encoding for boolean values.

SQLite (as of version 3.6.0) can read and write any file format between 1 and 4. But older versions of SQLite might not be able to read formats greater than 1. So that older versions of SQLite will be able to read and write database files created by newer versions of SQLite, the default file format is set to 1 for maximum compatibility.

The file format for a new database can be set at runtime using the PRAGMA legacy_file_format command.
карма: 0
%time%
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#149: 2010-10-03 00:49:29 ЛС | профиль | цитата
Проблема не в разных версих, а в мультипотоковом доступе. Запись ведется исправно, ничего никуда не пропадает. Кстати, проблема с мультипотоковым чтением я наблюдал и в самом HiAsm-e, в открытой на чтение базе hiasm.db, я ничего не смог изменить (естественно, использовалась новая версия), пришлось откатывать на старую версию
карма: 22

0
Ответов: 1891
Рейтинг: 110
#150: 2010-10-05 17:11:47 ЛС | профиль | цитата
nesco, чето ты о результатах не отписываешься? Не тестил еще или все-таки подвесили за фаберже ?
карма: 0
%time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)