filnor
@filnor
¯\_( ツ)_/¯

Как ускорить поиск в проекте на Laravel?

Столкнулся с проблемой скорости поиска.
Когда писал код проекта, использовал тестовую базу, в которой было около 50к компаний.
На тот момент вроде бы все работало достаточно неплохо. Результаты приходили примерно за 1-1.5 секунды.

Сейчас влили прод базу с 2 миллионами компаний и результаты поиска приходят за 15-20 секунд, что само собой вообще не юзабельно.

Структура базы вот такая:
5e46c1e8707ac915739423.jpeg

Поиск через одну форму идет поиск по 3м критериям (выделенны фиолетовым) - код компании, название компании (на любом языке) и название продукта (на любом языке).

Вроде бы никаких сложных связей тут нету, количество записей для MySQL не особо серьезное. Ключи в базах тоже расставлены. ¯\_( ツ)_/¯
В коде использую Eloquent.

Подскажите, в чем может быть проблема и каким инструменом ее можно решить.
Хочу понять куда копать для ускорения, думал посмотреть в сторону ElasticSearch или Algolia.
Но хотелось бы узнать, какие есть еще альтернативы, чтобы "не стрелять из пушки по воробъям"
  • Вопрос задан
  • 220 просмотров
Пригласить эксперта
Ответы на вопрос 1
hostadmin
@hostadmin
А поиск, небось, через LIKE?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы