In C on an embedded system (where memory is an issue), trying to optimize performance, multiple inserts are combined into larger transactions.
Intuitively, SQLITE must keep the unsent transactions in a cache somewhere in the limited memory.
- Is it possible to have too many inserts between two calls of 'BEGIN TRANSACTION' and 'END TRANSACTION'? Can the cache overflow?
- Or, does sqlite3 take care of it and initiate a transaction before a overflow happens?
- If the cache may overflow, what is the best strategy to call BEGIN/END?