Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.

Форум Сайт на DIAFAN.CMS Настройка DIAFAN.CMS Зачем таблица shop_category_parent?


Александр (capitan) 10912 августа

В таблице {shop_category} есть столбец parent_id

и есть таблица {shop_category_parent}

Получается, что данные дублируются?

Андрей (R4W) 9512 августа

Так в ядро зашито. Чтобы автоматом работа определенный типовой функционал надо чтобы была.

Виталий (DIAFAN.CMS) 69612 августа

Да, дублируются.
Лучше хранить несколько лишних килобайт цифр в БД, чем постоянно дергать их SELECT-ами, грузить сервак и вызывать тормоза сайта. Особенно, когда категорий несколько сотен, тысченка-другая.
А нам тормозить никак нельзя, мы самая нагрузоустойчивая ЦМС )

Андрей (R4W) 9512 августа

Лучше хранить несколько лишних килобайт цифр в БД, чем постоянно дергать их SELECT-ами


Хранить в БД но не дергать SELECT'ами? А чем тогда дергать?

Степан (idxdoc) 23412 августа

Чтобы 1 запросом дергнуть, а не несколькими, когда нам нужна род.категория

Виталий (DIAFAN.CMS) 69612 августа

Вооот. Степану не смешно, т.к. понял и смысл и опыт есть ;) Ибо Select Select-у рознь. Просто Select из таблицы выполняется быстро, а внутренний цикл по другим таблицам или inner join - это совсем другой коленкор. Зачем нам каждый раз считать и дергать количество вложенных категорий, если запрос текущей категории и так есть и там можно хранить дубль количества вложенных, ранее посчитанных

Андрей (R4W) 9512 августа, редакция 12 августа

Вы просто юмора не поняли :)

Виталий (DIAFAN.CMS) 69612 августа

Да понял я )
Но это просто цепляние к словам, хоть и ради юмора ;)
Конечно, фразу нужно читать так:
Цитата
чем постоянно дергать их дополнительными SELECT-ами

Александр (capitan) 10912 августа

Ну вот, в том и вопрос, зачем нужна {shop_category_parent}
Код
SELECT parent_id FROM {shop_category} WHERE id=3
SELECT parent_id FROM {shop_category_parent} WHERE element_id=3

если результат один и тот же и вся информация есть в {shop_category}

Степан (idxdoc) 23412 августа, редакция 12 августа

Чтобы работала вложенность в админке, ибо реализация единая. А в shop_category перенесли для оптимизации запросов