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.