Столкнулся с проблемой скорости поиска.
Когда писал код проекта, использовал тестовую базу, в которой было около 50к компаний.
На тот момент вроде бы все работало достаточно неплохо. Результаты приходили примерно за 1-1.5 секунды.
Сейчас влили прод базу с 2 миллионами компаний и результаты поиска приходят за 15-20 секунд, что само собой вообще не юзабельно.
Структура базы вот такая:
Поиск через одну форму идет поиск по 3м критериям (выделенны фиолетовым) - код компании, название компании (на любом языке) и название продукта (на любом языке).
Вроде бы никаких сложных связей тут нету, количество записей для MySQL не особо серьезное. Ключи в базах тоже расставлены. ¯\_( ツ)_/¯
В коде использую Eloquent.
Подскажите, в чем может быть проблема и каким инструменом ее можно решить.
Хочу понять куда копать для ускорения, думал посмотреть в сторону
ElasticSearch или
Algolia.
Но хотелось бы узнать, какие есть еще альтернативы, чтобы "не стрелять из пушки по воробъям"