Давайте представим, что есть три таблицы - 'users', 'products' and 'faves'
.В пользовательской таблице хранятся все пользователи с чем-то вроде 'id', 'username', 'email'
;в 'products'
: 'id', 'name', 'price'; in 'faves'
: 'id'
, 'product_id'
(идентификатор продукта, связанный с 'products'
), 'user_id'
(идентификатор пользователя, добавившего лайк, связанный с 'users'), 'modified_on'
.Это фиктивный пример, созданный только для иллюстрации того, о чем я говорю ... (:
Я часто вижу, что есть еще один столбец для таблицы 'products'. Он называется 'count_of_faves' или что-то в этом роде.Зачем это нужно? Я имею в виду, что можно легко подсчитывать фаве для указанного поста, как на лету, верно? Это как-то связано со скоростью их подсчета, когда данных очень много?
Дополнительный вопрос:
Есть ли лучший, более автоматический способ сделать +1
и -1
для count_of_faves, чем каждый раз при создании нового запроса, который обновляет эту строку?