On 17 Feb 2016, at 4:27pm, Dave Baggett <dmb at inky.com> wrote:

> One clarification: is it the case that transaction bundling ONLY affects 
> write/delete operations -- i.e., those operations that alter the database?

A transaction must be created for read operations too.  Else a database might 
be changed in the middle of one giving you an inconsistent set of rows.

> Another clarification: is it the case that writes within a single transaction 
> will remain in the in-memory page cache until COMMIT is issued?

No, but you can get close to this by holding your journal in memory.

> I see various pragmas like cache_spill that seem to control the page cache 
> but I'm confused as to what they do.

Ignore them all.  They don't understand SQLite.

> Finally, is there a way to tell SQLite I would like to buffer, say, 16MB of 
> write/delete transactions in memory before the transactions are written to 
> disk?

No.  But you can use

<https://www.sqlite.org/pragma.html#pragma_synchronous>

and turn "PRAGMA synchronous = OFF".

Simon.

Reply via email to