http://qs321.pair.com?node_id=1055168


in reply to DBI::SQLite slowness

Hi

If you still like to use SQlite, Try this

$dbHandle->do("PRAGMA journal_mode = WAL");

http://sqlite.org/pragma.html#pragma_journal_mode

Thanks & Regards,
Bakkiaraj M
My Perl Gtk2 technology demo project - http://code.google.com/p/saaral-soft-search-spider/ , contributions are welcome.

Replies are listed 'Best First'.
Re^2: DBI::SQLite slowness
by erix (Prior) on Sep 22, 2013 at 06:42 UTC

    Hi

    It looks from that page that DELETE is the default ("The DELETE journaling mode is the normal behavior.").

    Using WAL (Write Ahead Log) is another writing step (slow), so wouldn't it make more sense to switch journaling off:

    $dbHandle->do("PRAGMA journal_mode = OFF");

    That would make the transaction(s) less reliable in case of a crash, but in this particular case that seems unimportant (initial data load, ephemeral data). I would expect journal_mode = OFF to be faster than either the default DELETE, or writing WAL.

    (Then again, I don't use SQLite so I may be completely wrong. If anyone does the tests, I'd be interested to see the speed differences.)

Re^2: DBI::SQLite slowness
by Endless (Beadle) on Sep 23, 2013 at 17:59 UTC
    Thanks for the suggestions. I've tried it with both WAL and OFF without a change in the results on my test-dataset of 83,000 entries. I'll keep it in mind when I try on my real datasets too, though.