Turbocharge your SQLite App with WAL
In current SQLite versions, there is a feature called Write Ahead Logging or WAL.
In a multi-process application such as a Catalyst FastCGI instance, this feature greatly improves performance, at the cost of occasional writes taking slightly longer. See previously linked document for details.
To turn it on, add on_connect_do "PRAGMA journal_mode=WAL;"
to your
Catalyst::Model::DBIC::Schema configuration, a typical configuration might
be:
<Model::DB> schema_class MyApp::Schema traits Caching <connect_info> dsn dbi:SQLite:dbname=__path_to(db/myapp.db)__ quote_names 1 auto_savepoint 1 on_connect_do "PRAGMA journal_mode=WAL;" </connect_info> </Model::DB>
Make sure that all clients that use this database are version 3.7.0
of SQLite
or above, and preferrably, that they execute this PRAGMA
when connecting.
AUTHOR
Caelum: Rafael Kitover <rkitover@cpan.org>
- Previous
- Next