>> 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