Как лучше реализовать фильтр с огромным количеством товаров по свойствам?

На сайте имеется одна категория с привязанными 10к товарами. Также имеется фильтр по свойствам товаров.
Чтобы вывести свойства - нужно проверить его наличие у всех 10к товаров, а сами свойства находятся в другой таблице через связь "многое-ко-многим", то есть нам нужно сначала отобрать эти 10к товаров у данной категории, и по ней искать все свойства через whereIn([1, 2, 3, ..., 9999, 10000])

Вопрос - можно ли как-то сократить этот whereIn запрос, или это нормальная практика? И как вообще лучше реализовать фильтр с огромным количеством товаров по свойствам.

3 таблицы:
products:
id, field1, field2, ...

options:
id, field1, field2, ...

products_options:
product_id, option_id

Где products_options, это связывающая таблица "многое-ко-многим" между таблицей products и options.
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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