On 15 Jan 2015, at 3:44pm, Jan Slodicka <j...@resco.net> wrote:

> Index rebuild (using sqlite3 shell) took 123 sec. This would suggest that it
> might be better to run with deleted indexes and rebuild them at the end.

That is as expected, and is standard advice for cases where you are adding huge 
numbers of rows.

> WAL size started at 65MB and slightly increased once upon a time ending
> finally at 177MB. Very good.

Yes, that's better.  I assume you set a journal_size_limit value.

However, other information in your message suggests that you have a resource 
leak of some type somewhere.  Especially, it should not take 12 minutes to 
insert 3.5M rows into a simple table with an index or two unless really long 
strings or blobs are involved.

Unfortunately, I'm only really familiar with the C and PHP interfaces to 
SQLite.  But in both of those you can check the result code of each API call to 
make sure it is SQLITE_OK.  Are you able to do this with whatever interface 
you're using ?

> DB size increased by roughly 17-18K after each commit. This suggests that
> WAL needs 10x more memory than the DB itself.


Very variable.  Depends on whether the changes in one transaction change many 
different pages or change fewer different pages multiple times.  At least, I 
think so.

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

Reply via email to