On 27 Sep 2019, at 11:59pm, Roman Fleysher <[email protected]>
wrote:
> From experience, it seems that because SQLite still requests file locks, the
> performance increase is not that big. I wonder if there is a way to disable
> SQLite's internal file locking mechanism. I know this seems strange to ask.
> But FLoM should be able to do it faster over many compute nodes.
What busy_timeout did you set ?
Do you process multiple operations inside a transaction, or do you let SQLite
create its own transactions automatically ?
SQLite always locks the entire database. It does not implement table or row
locking.
SQLite has two (main) journalling modes. The journalling made influences which
operations lock out other operations. The biggest change in lockouts occurs
whether you do or do not have writes from multiple connections at once. You
might want to try executing this command just once:
PRAGMA journal_mode = WAL
This makes a change to the database so that all connections which open it know
it's in WAL mode. You don't have to change your software. It might speed
things up. (You can do
PRAGMA journal_mode = DELETE
to set it back.)
There are other other things you can do to disable various parts of the locking
system, but you should try the above first. You might want to play around with
<https://sqlite.org/pragma.html#pragma_synchronous>
Refs:
<https://sqlite.org/pragma.html#pragma_journal_mode>
<https://sqlite.org/wal.html>
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users