Задать вопрос
@VitaliyBorys

Поиск по большой БД MySQL?

Всем привет. Стоит задача разработать интернет магазин по продаже pdf файлов. При добавлении товара, автоматически генерируется 6 поисковых тегов, по которым будет вестись поиск. Пользователь будет вводить строку запроса (типо как в гугл), и ему будет выводится результат поиска. Я сделал две таблице в бд : 1. Таблица с информацией о товаре 2. Таблица поисковых тегов, в которой поля product_id и tag Пользователь вводит запрос, я ищу совпадения в таблице тегов, вытаскиваю оттуда prodcut_id, а затем по product_id вытаскиваю записи с таблице товаров. Но мне кажется, что когда в таблице товаров будет 100 тысяч записей, а в таблице тегов 600 тысяч, то бд будет сильно тормозить, и поиск будет очень долго длится. Проект делаю на Laravel. Подскажите как лучше сделать .
  • Вопрос задан
  • 416 просмотров
Подписаться 2 Средний 7 комментариев
Пригласить эксперта
Ответы на вопрос 3
@kirill-93
Не вижу проблем. То что вы написали должно работать быстро и на 100 000 и на 1 000 000.
Ответ написан
Комментировать
@iljaGolubev
https://laravel-news.com/how-to-add-tagging-to-you...
https://laravel.com/docs/5.6/scout
Но лучше, elastic или sphinx, поскольку как минимум, они дадут возможность сортировки по релевантности.
Ответ написан
martin74ua
@martin74ua Куратор тега MySQL
Linux administrator
сгенерите тестовых данных и посмотрите. Не будет там тормозить на таких объемах
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы