besogonskiy
@besogonskiy
работаю php laravel разработчиком.

Где лушче держать поля которые часто меняются? остатки, цены. Отдельно?

В ларавел создана модель товара из большого числа полей. При этом большинство полей не меняются практически никогда кроме случая, когда товар появляется на сайте.
В этой моделе раньше было поле price, currency и это вынесли отдельно. обновление цен начало проходить быстрее.

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

В общем к чему я клоню. Хочу тоже поля, которые меняются часто вынести в отдельную таблицу и при импорте товаров или при ручном редактировании менять только эти таблицы. так ведь будет быстрее работать. чем работать с таблицей в которой 50-60 полей? Или таки нет смысла ?

Почему Ларавел - просто в ларавел есть функционал который удобно подтягивает данные из связанных сущностей через конструкцию with но в итоге получается связанный массив. а иначе придется left join делать а ведь это замедлит работу с товарами. Джойны замедляют скорость работы запроса. Но сильно ли?
  • Вопрос задан
  • 129 просмотров
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Нет смысла
Ответ написан
AmdY
@AmdY
PHP и прочие вебштучки
В принципе нормальный вариант, на основную сущность может быть навешана куча бизнес логики и индексы, которые апдейтятся. Это упростит вставку, но усложнит обновление и чтение, особенно с фильтрами-сортировками по связанным таблицам .
Главное не забывайте использовать with(), чтобы релейшины грузились одним доп запросом, а не на каждое обращение.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы