On 24 August 2017 at 13:58, J Decker <d3c...@gmail.com> wrote:

> Even though the process will always be single threaded access even if there
> are multiple connections, it would be more helpful to have a
> locking_mode=NONE.
>
> <snip>
>
> PRAGMA locking_mode = EXCLUSIVE  gives me good speed, at the cost of only 1
> connection ever.  (not usable)
>

You cannot provide consistency for more than one active connection without
locking, because file system writes are not atomic. ie. during COMMIT there
is a window where if another process was allowed to read the DB it would
see garbage and report "corrupt database" rather than consistent results.
I'm not very familiar with WAL mode but I think the critical locking stage
there is checkpointing rather than COMMIT.

If you're not happy with the INSERT speed, batch your writes.
-Rowan
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to