]> git.evergreen-ils.org Git - working/Evergreen.git/commit
Increase Overlay Speed for Standard Identifiers
authorDan Wells <dbw2@calvin.edu>
Thu, 30 Aug 2012 19:26:15 +0000 (15:26 -0400)
committerDan Wells <dbw2@calvin.edu>
Tue, 4 Sep 2012 21:02:39 +0000 (17:02 -0400)
commit9796690390faacde6261e00ed76a0cdc31e91cb8
tree6cafc699eb50343876a329ae1daebdd5e6e9a594
parent579c2cb8e7bcbc8819ca4e625b0c8c9488870c71
Increase Overlay Speed for Standard Identifiers

Due to an inefficient query order and a confused query planner,
some overlay matching can end up going abysmally slow.  See LP
bug #1024095 for elaboration on the issue.

This commit reorders the joins as originally suggested by Lebbeous,
then adds a specific index to coax the query planner into making the
best choices.  The example index here only targets the 02x identifier
fields, so other tag/subfield/substring(value) indexes will likely
be necessary for maximum benefit when matching on other fields
(e.g. 010).

These changes combined with the previous commit which replaces 'LIKE
ANY' with 'LIKE (... OR ...)' has shown great promise in testing.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Open-ILS/src/sql/Pg/012.schema.vandelay.sql
Open-ILS/src/sql/Pg/030.schema.metabib.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.vandelay.import-match-no-like-any.sql