> On Tue, Jul 6, 2010 at 1:05 PM, Martin Knafve
> <mar...@hmailserver.com>wrote:
>
>> Hi,
>>
>> I'm considering using SQLite as backend for my software. What's stopping
>> me is the low insert-performance. If I disable fsync/FlushFileBuffers,
>> performance is good but I can't do with the risk of database corruption.
>>
>> I don't know the details of the WAL-implementation in 3.7, but if
>> fsync/FlushFileBuffers are only required when data is moved from the
>> write-ahead log to the database file, I would expect performance to be a
>> lot faster. Reading the documentation about WAL, I get the impression
>> that
>> I can accomplish this using the following pragmas:
>>
>> sqlite3_exec(db, "PRAGMA journal_mode=WAL", NULL, 0, &db_err);
>> sqlite3_exec(db, "PRAGMA synchronous=NORMAL", NULL, 0, &db_err);
>>
>
> If you do the above, no fsyncs happen except when doing a checkpoint, and
> a
> checkpoint should only happen after about each megabyte of inserting.
>
> We don't have any git support here, so I don't know where you got your
> snapshot, but it wasn't an official SQLite.  Prerelease snapshots for
> SQLite
> 3.7.0 are available here:
>
>      http://www.sqlite.org/draft/download.html
>

Thanks for the info, I'll have the official snapshot a go.

Kind regards,
Martin


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

Reply via email to