Thank you for pointing out the omitJournal argument to sqlite3BtreeFactory!
That's just what I was looking for.
By forcing omitJournal to 1 in all cases (thereby always turning off
journaling), I was able to increase the total speed of my application by a
factor of 2.5 over the speed I got by
Holding commits with a timeout is a feasible solution. However, in my
application it is somewhat complex to implement. Multiple threads are
accessing the database, and read requests usually run in a different thread
than writes. I don't want reads to be blocked while a commit timeout waits,
so
> Do you know that the performance without doing anything special is
unacceptable?
If I do insertions of a test set of 2000 records using a BEGIN
TRANSACTION/COMMIT around each one, the speed is 20 times slower than doing
additions in a single transaction. I hacked the winSync routine and
I have an application that requires creating a database with about 50
million records. Is there any way to turn off journaling and rollback
during the creation? I am willing to sacrifice reliability for speed in this
situation.
___
sqlite-users
reeCloseCursor(BtCursor);
/*
* Close the database.
*/
status = sqlite3_close(db);
/*
* Finished
*/
return;
}
I would like to see the Btree routines documented and supported.
Phil Sherrod
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
5 matches
Mail list logo