оптимизировать таблицы для поиска, используя предложение LIKE в MySQL
Я создаю функцию поиска для части сообщений на моем сайте, и у меня есть база данных сообщений с немногим более 9 000 000 строк и индексирование поsender
, subject
, а такжеmessage
поля. Я надеялся использовать в моем запросе предложение LIKE mysql, например (ex)
ВЫБРАТЬsender
, subject
, message
ОТMessages
ГДЕmessage
LIKE "% EXAMPLE_QUERY%";
чтобы получить результаты. к сожалению, MySQL не использует индексы, когда присутствует начальный подстановочный знак, и это необходимо для того, чтобы поисковый запрос мог появляться в любом месте сообщения (именно так работают подстановочные знаки, не так ли?). Запросыvery very slow и я также не могу использовать полнотекстовый индекс из-за раздражающего правила 50% (я просто не могу позволить себе так много исключать). Есть ли в любом случае (или даже какая-либо альтернатива этому) оптимизировать запрос, используя like и два подстановочных знака? Любая помощь приветствуется.