|
|
|
Помогите со структурой БД
|
|||
|---|---|---|---|
|
#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?fid=47&gotonew=1&tid=1833897]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 375ms |

| 0 / 0 |
