|
|
|
Помогите со структурой БД
|
|||
|---|---|---|---|
|
#18+
Планирую структуру БД для каталога товаров со множеством свойств. В перспективе нужна быстрая фильтрация по данным свойствам. Придумалась следующая схема: Связующая таблица connect: product_id type_id type_value354117354420 product_id - айдишник товара type_id - айди свойства type_value - значение свойства Сами свойства хранить тоже в классическом нормализованном стиле. Например: Табличка #1 weight значений массы: idvalue1 3... ...17 100 Табличка #2 length значений длины: idvalue1 5... ...20 42 То есть товар из самой верхней таблицы обладает свойством масса 100 и длинной 42. Тогда запрос на вывод товаров по критериям будет выглядеть примерно так: Код: sql 1. 2. 3. 4. 5. Нутром чую, что производительность такого решения будет мягко говоря "неочень"даже с индексами :) Может есть какое-то более оптимальное решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2014, 17:46:14 |
|
||
|
Помогите со структурой БД
|
|||
|---|---|---|---|
|
#18+
sharmanka, поздравляю, вы изобрели велосипедEAV :) альтернатива - сделать одну таблицу, где свойства будут в столбцах - тоже, мягко говоря, не очень ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2014, 17:56:34 |
|
||
|
Помогите со структурой БД
|
|||
|---|---|---|---|
|
#18+
tanglirsharmanka, поздравляю, вы изобрели велосипедEAV :) альтернатива - сделать одну таблицу, где свойства будут в столбцах - тоже, мягко говоря, не очень А что будет очень (ну кроме предложения забыть про реляционные бд и перейти к документарным :) ) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2014, 18:17:02 |
|
||
|
Помогите со структурой БД
|
|||
|---|---|---|---|
|
#18+
tanglir , это он изобрёл не EAV, а что-то ещё более монстрообразное и дикое. На каждый тип атрибута - своя таблица, убиться можно! sharmankaМожет есть какое-то более оптимальное решение? Классический EAV. Ознакомьтесь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2014, 18:24:08 |
|
||
|
Помогите со структурой БД
|
|||
|---|---|---|---|
|
#18+
sharmankaА что будет оченьА ничего. Прислушайтесь к совету Акины и почитайте про еав, каким он должен быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2014, 19:02:41 |
|
||
|
Помогите со структурой БД
|
|||
|---|---|---|---|
|
#18+
sharmankaТогда запрос на вывод товаров по критериям будет выглядеть примерно так: Код: sql 1. 2. 3. 4. 5. Нутром чую, что производительность такого решения будет мягко говоря "неочень"даже с индексами :) Твоё нутро тебя подводит: Код: sql 1. 2. 3. 4. 5. К тому же не нужно делать по таблице на свойство, достаточно сделать по таблице на тип данных свойства, а имя свойства добавить в её первичный ключ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2014, 14:28:57 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=47&tid=1833897]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 322ms |

| 0 / 0 |
