On Wed, Jul 22, 2009 at 1:42 PM, Pavel Ivanov<paiva...@gmail.com> wrote: > > Again, try to call sqlite3_memory_used() several times during work of > your application. What does it say to you? It says it's using about 3MB. Which suggests maybe it's my application.
I believe I've identified the problem in my code but it takes some work to fix so I can't report with 100% certainty how much of a difference it will make. > If you don't do commits (and "begins") of transactions by yourself > then SQLite does that automatically after each executed statement. So > when sqlite3_step returns you can be sure that everything is committed > and everything is on disk. SQLite doesn't do any write-through > caching. And as your transactions are small in volume then journal > size is also always small. I still don't understand the transactions. For example, I issue a single BEGIN at the start of my application and then insert about 500MB of data through many small inserts (about 4KB each). During this whole time I never issue a commit. But the main db file grows very large, and the journal file remains small. Is sqlite manually forcing commits for me at some fixed threshold? _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users