diff options
author | Eric Wong <e@yhbt.net> | 2020-05-10 22:37:13 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2020-05-12 06:16:01 +0000 |
commit | 5ce52f3dd831c623b8899dc4d5655c2d958fa6a0 (patch) | |
tree | 0641baaaf133e91826649740cbfc9de208064500 /lib | |
parent | 098fecd1fe516a00fbfd49622b82be382ebcdab6 (diff) | |
download | public-inbox-5ce52f3dd831c623b8899dc4d5655c2d958fa6a0.tar.gz |
This ought to prevent cargo-culting the cache_size PRAGMA into smaller SQLite DBs we might use.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/OverIdx.pm | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/PublicInbox/OverIdx.pm b/lib/PublicInbox/OverIdx.pm index acbf2c8d..cb15baad 100644 --- a/lib/PublicInbox/OverIdx.pm +++ b/lib/PublicInbox/OverIdx.pm @@ -21,8 +21,16 @@ use PublicInbox::Search; sub dbh_new { my ($self) = @_; my $dbh = $self->SUPER::dbh_new(1); + + # TRUNCATE reduces I/O compared to the default (DELETE) $dbh->do('PRAGMA journal_mode = TRUNCATE'); + + # 80000 pages (80MiB on SQLite <3.12.0, 320MiB on 3.12.0+) + # was found to be good in 2018 during the large LKML import + # at the time. This ought to be configurable based on HW + # and inbox size; I suspect it's overkill for many inboxes. $dbh->do('PRAGMA cache_size = 80000'); + create_tables($dbh); $dbh; } |