On 14 Aug 2017, at 8:33am, J Decker <d3c...@gmail.com> wrote:

> I'd have to wrap each one in a transaction.
> Each is really an atomic operation from a higher level program... and each
> must complete before returning to the parent.

There may be no point in doing that.  If you do not declare a transaction 
yourself using "BEGIN" then SQLite automatically wraps each command in its own 
transaction.  The point Clemens was making is that it is not the INSERT which 
is taking the time, it is finishing the transaction.

Are other processes trying to access the database while the parent thinks up 
the next INSERT ?  If you have just one process accessing the database then it 
is safe to leave a transaction open for any amount of time while you supply 
more commands.  You can then COMMIT an hour or a day later.

On the other hand if, in real life, you have one process supplying new INSERT 
commands and another doing SELECT at the same time, you should not do this.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to