Какой правильный способ считать динамическое значение?
Есть таблица клиентов, заказов и платежей. Сейчас у клиентов есть поле "долг". Раньше и у заказов оно было, но было изменено на динамически рассчитывающееся. Производительность в целом нормальная, данных не много.
Хочется так же сделать и с долгом клиента. С ходу можно сделать так: для каждого клиента выбираются заказы и платежи к ним (если имеются), делается подсчет с помощью group by и sum. В принципе, выборка клиентов происходит разве что в админке максимум по 200 строк. В остальных случаях выборка клиента будет единственной.
Знаю что подход более трудозатратен, но поле, которое нужно обновлять после каждого изменения долга в заказах (или даже суммы заказа) - требует уж очень много внимания.
Еще есть подход с обновлением поля раз в n времени. Но не тот масштаб.
Если нагрузка несущественная, это нормальный вариант, дабы не усложнять логику простого приложения.
Обычно делают наоборот:
Cначала делают динамически рассчитываемое, а когда уже такой рассчет становится затратной операцией, то переделывают в регистр.