>> You're right - what I meant was "explicit transaction". I know that you
>> can speed up things by placing everything in a large transaction, but in
>> my software these kinds of bulk INSERT operations are very rare. (In my
>> case, they would only be made during a BACKUP/RESTORE process).
>
> I think you're going to have to give us some figures.  What kind of speed
> are you thinking of as 'low', and are you using a standard Windows
> platform ?
>

A few minutes ago I re-run my tests using todays 3.7-snapshot and WAL
seems to work fine for me now. When I tested it on another snapshot
yesterday I couldn't get it to work. Maybe I made a mistake, or I happened
to use a version which it wasn't working in.

But to answer your question. To get an idea of the performance, I'm
executing "insert into mytable values (10)" 3000 times. Of course, this
doesn't represent what my application is normally doing, I'm merely trying
to understand how fast SQLite is. My application is heavy on INSERT's
though.

- No explicit transactions used: Running the statements takes ~11 seconds.
- Running in 1000 explicit transactions, 3 inserts in each. Takes ~4 seconds
- Running it with WAL enabled takes ~0.2 seconds

The 11 seconds is too slow for my needs, 0.2 seconds should be fast
enough. I'm currently using SQL Compact Edition and I'm guessing the
WAL-performance makes SQLite faster than SQL Compact (haven't measured
that in a long time thuogh). The SQL Compact team is releasing a new beta
during this week so I guess I got some more testing to do before the
weekend.

Kind regards,
Martin Knafve



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

Reply via email to