Increase Overlay Speed for Standard Identifiers user/dbwells/vandelay_overlay_match_speed_up
authorDan Wells <dbw2@calvin.edu>
Thu, 30 Aug 2012 19:26:15 +0000 (15:26 -0400)
committerDan Wells <dbw2@calvin.edu>
Thu, 30 Aug 2012 19:35:15 +0000 (15:35 -0400)
commit77fbf4a449c5bf4987b291e405f013a83225fc5c
tree3531483edb68027d6a61643e328d8bf519aa4c90
parent42349eaed573b768a998fc5d12c6f9d15b9a3e37
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>
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