@Urukhayy

Кэширование результата vs постоянный пересчёт того же самого?

Сервер отдаёт клиентам какие-то данные. К примеру, отчёт о статистике магазина за сутки. Он содержит строки с суммами покупок, включая все налоги и прочее и последняя строка это сумма по всем категориям (требуется суммировать много всего и множество строк). Суммарный налог за все товары, суммарная сумма покупок и т.п. То есть при каждом запросе на сервер нужно давать эти данные всем кто попросит. Как лучше это организовать - каждый раз пересчитывать сумму по новой для каждого запроса, или хранить поле "сумма" в БД и при добавлении новой покупки увеличивать его?

P.S. Если постоянно считать то же самое, теоретически, процесс будет работать впустую. Зачем бесконечно раз пересчитывать одно и тоже, когда можно просто хранить результат и обновлять его по мере прихода новых строк в таблицу?
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 2
vaut
@vaut
Сколько времени занимает это суммирование?
Сколько раз за день нужно отдавать эту статистику?
Сколько времени занимает отдача остального контента?

Ранняя оптимизация к добру не приведет.
Вы можете потратить кучу нерв и времени на валидацию кеша, и не увидеть разницы в производительности.
Ответ написан
@FreeBa
Один из великих сказал. "В программировании есть только две по настоящему сложные вещи - это придумывание названий переменным и инвалидация кэша."(с)

Если мощности позволяют обходится без кэширования, то лучше его не использовать.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
06 нояб. 2024, в 00:20
1000 руб./за проект
06 нояб. 2024, в 00:03
40000 руб./за проект