Вопрос про SQLite
#1

Здравствуйте. Возник вопрос про повышение производительности в SQLite.

Вот, допустим, обновление содержимого таким способом:
pawn Код:
db_query(Database, "UPDATE mytable SET time = '23' WHERE name = 'test'");
проходит за 3 мс, это много.

Когда я отключаю журнал, и тип синхронизации транзакции
pawn Код:
db_query (Database, "PRAGMA synchronous=OFF; PRAGMA journal_mode=OFF;");
Скорость увеличилась до 0.3 мс.

Но безопасен ли такой способ? При падении сервера например? База ведь открыта на всем протяжении работы сервера.

p.s. и еще вопросик: действительно ли лучше держать базу открытой? Серверу не будет тяжело?
Reply
#2

порчи данных при падении сервера не произойдет, наибольшая вероятность порчи/потери данных это, например, поломка ос или аварийная перезагрузка машины на которой выполняется программа.
Открытая база ни дает никакой, по крайней мере значительной, нагрузки. Закрыть/открыть БД 10 раз в мин., это будет извращением.
Если уж так переживаете за данные, то этот ("synchronous= normal journal_mode= on") режим работы библиотеки, я думаю, для Вас.
Reply
#3

Спасибо за ответ.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)