powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Фильтры интернет магазина
2 сообщений из 2, страница 1 из 1
Фильтры интернет магазина
    #39376398
sergei101
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день столкнулся с задачей фильтров в интернет магазине .

есть куча разных фильтров и куча категорий, человек дает запрос , что нужен телефон белый или черный и с памятью 2 или 4гб

у меня таблица продуктов таблица фильтров, таблица параметров для каждого фильтра и таблица "продукт + фильтр"
я написал вот в таком виде но чувствует мое сердце что если база прилично вырастит то начнутся тормоза .

select a.id,a.title from products as a
join products_param as b
where a.id in( 14,20,12,15 ) and b.filter_param_id in (1 , 2 , 3 , 4)
group by b.product_id
having count(distinct filter_id) =2
ORDER BY FIELD(a.id , 14,20,12,15 )

или тоже самое только по фильтрам

SELECT * FROM products_param WHERE filter_param_id IN (1 , 2 , 3 , 4)
GROUP BY product_id HAVING COUNT(DISTINCT filter_id) =2

filters
======
1 | color
2 | RAM

filters_param
======
1 | 1 | белый
2 | 1 | черный
3 | 2 | 4GB
4 | 2 | 2GB

products_param
==========
pproduct_id | filter_id | filter_param_id
10 | 1 | 1
11 | 1 | 2
12 | 2 | 3
13 | 2 | 4

Что можно или следует переделать ?
...
Рейтинг: 0 / 0
Фильтры интернет магазина
    #39381492
Andrew B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sergei101,

Используйте импорт в elastic search, там оффсетный поиск работает из коробки и существенно быстрее чем sql.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Фильтры интернет магазина
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]