
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.11.2014, 17:46:14
|
|||
|---|---|---|---|
|
|||
Помогите со структурой БД |
|||
|
#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:56:34
|
|||
|---|---|---|---|
Помогите со структурой БД |
|||
|
#18+
sharmanka, поздравляю, вы изобрели велосипедEAV :) альтернатива - сделать одну таблицу, где свойства будут в столбцах - тоже, мягко говоря, не очень ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2014, 18:17:02
|
|||
|---|---|---|---|
|
|||
Помогите со структурой БД |
|||
|
#18+
tanglirsharmanka, поздравляю, вы изобрели велосипедEAV :) альтернатива - сделать одну таблицу, где свойства будут в столбцах - тоже, мягко говоря, не очень А что будет очень (ну кроме предложения забыть про реляционные бд и перейти к документарным :) ) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2014, 18:24:08
|
|||
|---|---|---|---|
Помогите со структурой БД |
|||
|
#18+
tanglir , это он изобрёл не EAV, а что-то ещё более монстрообразное и дикое. На каждый тип атрибута - своя таблица, убиться можно! sharmankaМожет есть какое-то более оптимальное решение? Классический EAV. Ознакомьтесь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.11.2014, 19:02:41
|
|||
|---|---|---|---|
Помогите со структурой БД |
|||
|
#18+
sharmankaА что будет оченьА ничего. Прислушайтесь к совету Акины и почитайте про еав, каким он должен быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.11.2014, 14:28:57
|
|||
|---|---|---|---|
Помогите со структурой БД |
|||
|
#18+
sharmankaТогда запрос на вывод товаров по критериям будет выглядеть примерно так: Код: sql 1. 2. 3. 4. 5. Нутром чую, что производительность такого решения будет мягко говоря "неочень"даже с индексами :) Твоё нутро тебя подводит: Код: sql 1. 2. 3. 4. 5. К тому же не нужно делать по таблице на свойство, достаточно сделать по таблице на тип данных свойства, а имя свойства добавить в её первичный ключ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1833897]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 187ms |
| total: | 267ms |

| 0 / 0 |
