From: Chris Sharp Date: Mon, 5 Dec 2016 22:46:02 +0000 (-0500) Subject: LP#1643932 - Fix search slowness when patron searching by username X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=92d9f0c61e4cb81c540d3ea0efb3ff690999b96d;p=evergreen%2Fpines.git LP#1643932 - Fix search slowness when patron searching by username Bug 1501781 introduced a feature to improve patron name searching, but which was causing very slow queries when searching by username. Adding an index to username solves the slowness problem. Suggested by Mike Rylander. Signed-off-by: Chris Sharp --- diff --git a/Open-ILS/src/sql/Pg/005.schema.actors.sql b/Open-ILS/src/sql/Pg/005.schema.actors.sql index d44ac53cd6..90a351ddd0 100644 --- a/Open-ILS/src/sql/Pg/005.schema.actors.sql +++ b/Open-ILS/src/sql/Pg/005.schema.actors.sql @@ -85,6 +85,7 @@ CREATE INDEX actor_usr_family_name_idx ON actor.usr (evergreen.lowercase(family_ CREATE INDEX actor_usr_first_given_name_unaccent_idx ON actor.usr (evergreen.unaccent_and_squash(first_given_name)); CREATE INDEX actor_usr_second_given_name_unaccent_idx ON actor.usr (evergreen.unaccent_and_squash(second_given_name)); CREATE INDEX actor_usr_family_name_unaccent_idx ON actor.usr (evergreen.unaccent_and_squash(family_name)); +CREATE INDEX actor_usr_usrname_unaccent_idx ON actor.usr (evergreen.unaccent_and_squash(usrname)); CREATE INDEX actor_usr_usrname_idx ON actor.usr (evergreen.lowercase(usrname)); CREATE INDEX actor_usr_email_idx ON actor.usr (evergreen.lowercase(email)); diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.actor_usr_usrname_unaccent_idx.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.actor_usr_usrname_unaccent_idx.sql new file mode 100644 index 0000000000..5bf7167b47 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.actor_usr_usrname_unaccent_idx.sql @@ -0,0 +1,8 @@ +BEGIN; + +SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); -- csharp/miker + +CREATE INDEX actor_usr_usrname_unaccent_idx ON actor.usr (evergreen.unaccent_and_squash(usrname)); + + +COMMIT;