In case you have your own slow SQL query, you can optimize it automatically here.
For the query above, the following recommendations will be helpful as part of the SQL tuning process.
You'll find 3 sections below:
ALTER TABLE `foundIDs` ADD INDEX `foundids_idx_searchid_smallkeyword` (`searchId`,`smallKeyword`);
ALTER TABLE `glossary_entry_wordList_1` ADD INDEX `glossary_wordlist_idx_idkeyword_termtranslitera` (`idKeyword`,`termTransliteralRFC`);
ALTER TABLE `glossary_entry_wordList_1` ADD INDEX `glossary_wordlist_idx_idkeyword_idterm` (`idKeyword`,`idTerm`);
SELECT
glossary_entry_wordList_1.idTerm,
count(glossary_entry_wordList_1.idKeyword) AS termsMatched,
sum(foundIDs.keywordLength) AS sumTermLength,
sum(foundIDs.fuzzyMark) / 100 AS sumFuzzy,
sum(foundIDs.partsMatched * foundIDs.keywordLength) / 100 AS sumLengthSimilar,
foundIDs.searchId
FROM
foundIDs
INNER JOIN
glossary_entry_wordList_1
ON glossary_entry_wordList_1.idKeyword = foundIDs.similarKeywordId
WHERE
foundIDs.searchId = '17559'
AND glossary_entry_wordList_1.termTransliteralRFC >= '824.4'
AND glossary_entry_wordList_1.termLength >= '8.55'
AND glossary_entry_wordList_1.termLength <= '18'
AND foundIDs.smallKeyword = 0
GROUP BY
glossary_entry_wordList_1.idTerm
HAVING
count(glossary_entry_wordList_1.idKeyword) > '2'
ORDER BY
NULL