Closed adamfranco closed 5 years ago
I'm unable to replicate this issue in development -- the same query on a fresh dump/import of the database on saw executes in 0.7 seconds instead of 30 seconds. Will need to follow up after the holiday to figure out if this is a database configuration issue.
At Mark's suggestion I checked the EXPLAIN
plan for both the database on saw
(MariaDB 10.1.37) and songbird
(MariaDB 10.2.17) and they are the same, so that shouldn't be an indication of the performance differance:
This query completes in 3.8 seconds on saw
versus 22.6 seconds on songbird
.
When using the Keyword field on the search form a query is built that includes a
MATCH (SSBSECT_fulltext) AGAINST ('<search keyword>' IN BOOLEAN MODE) AS relevence,
. While this is valid syntax, these queries are taking up to 15-30 seconds inFULLTEXT initialization
state and heavy use can subsequently impact database load and overall system performance.Example query searching for biology: https://catalog.middlebury.edu/offerings/search/catalog/catalog%2FMCUG?search=Search&term=term%2F201920&department=&keywords=biology&time_start=0&time_end=86400&type%5B%5D=genera%3Aoffering%2FLCT&type%5B%5D=genera%3Aoffering%2FSEM
Hopefully queries relying on keyword searching can be reworked to perform better. A few ideas:
SSBSECT_fulltext
column to its own table (this may allow the full-text search to run using its own index and then allow it to be joined using shared keys to ourSSBSECT
and maybe be more efficient).