Как сделать типа яндекс маркета, чтобы быстро работало?

FRIE

Новичок
Допустим есть 500 магазинов, у каждого по 100 товаров . У каждого товара до 30 составляющих.
Товары могут различаться в названиях. Человеку необходимо найти товар по параметрам которые он отмечает галочками.

Вопрос: как лучше это делать чтобы быстро работало?

1. Делать кучу таблиц связей
2. Сделать таблицу связей товаров с категориями, а состовляющие, из чего товар состоит, записывать в одно поле через запятую?

Может ни тот ни другой способ не правильно, я сам не знаю как лучше. Если кто делал что то подобное или знает принцип по которому такое можно сделать, расскажите плиз =)
 

SkyLine

Новичок
Лучше объединить таблицы товары и составляющие через таблицу связей, где запись - это соответствие товара и составляющей.
 

FRIE

Новичок
Лучше объединить таблицы товары и составляющие через таблицу связей, где запись - это соответствие товара и составляющей.
Я тоже так подумал. Просто для каждой категории товаров буду делать отдельную таблицу с опциями
 

SkyLine

Новичок
Если опции не специфические, то это глупо. Одной таблицы с опциями будет вполне достаточно для всех товаров.
 

SkyLine

Новичок
Если для всех товаров опции вида имя: значение, то в таблице опции храним их названия, в таблице связей(опция-товар) храним id товара, id опции и значение этой опции, а в таблице товаров - id этой связи(опция-товар).
Не нужно плодить однотипные таблицы и усложнять выборку. Особенно если опции могут быть общими для нескольких категорий.
 
Сверху