From fb562dd9b88d5eb17a796f08fffac92160240d1d Mon Sep 17 00:00:00 2001 From: Luc Didry Date: Sat, 17 Mar 2018 09:56:34 +0100 Subject: [PATCH] [postgresql] Add partial index to speed up some queries --- CHANGELOG | 3 +++ lib/Lutim/Plugin/Helpers.pm | 4 ++-- utilities/migrations/postgresql.sql | 4 ++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 33413d9..81a71c0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,8 @@ Revision history for Lutim +????? ?????????? + - PostgreSQL performance improvments + 0.9.6 2018-03-12 - Update translations diff --git a/lib/Lutim/Plugin/Helpers.pm b/lib/Lutim/Plugin/Helpers.pm index 8c65680..25c13f3 100644 --- a/lib/Lutim/Plugin/Helpers.pm +++ b/lib/Lutim/Plugin/Helpers.pm @@ -18,9 +18,9 @@ sub register { # Database migration my $migrations = Mojo::Pg::Migrations->new(pg => $app->pg); if ($app->mode eq 'development' && $ENV{LUTIM_DEBUG}) { - $migrations->from_file('utilities/migrations/postgresql.sql')->migrate(0)->migrate(2); + $migrations->from_file('utilities/migrations/postgresql.sql')->migrate(0)->migrate(3); } else { - $migrations->from_file('utilities/migrations/postgresql.sql')->migrate(2); + $migrations->from_file('utilities/migrations/postgresql.sql')->migrate(3); } } elsif ($app->config('dbtype') eq 'sqlite') { # SQLite database migration if needed diff --git a/utilities/migrations/postgresql.sql b/utilities/migrations/postgresql.sql index 3d38dd9..1c8cc62 100644 --- a/utilities/migrations/postgresql.sql +++ b/utilities/migrations/postgresql.sql @@ -22,3 +22,7 @@ DROP TABLE lutim; ALTER TABLE lutim ADD COLUMN iv text; -- 2 down ALTER TABLE lutim DROP COLUMN iv; +-- 3 up +CREATE INDEX IF NOT EXISTS empty_short_idx ON lutim (short) WHERE path IS NULL; +-- 3 down +DROP INDEX empty_short_idx;