Насколько полезно хранить «простые» результаты вычислений в базе данных (sql)?Результаты поиска в базе данных?
Позволяет сделать пример:
- брутто Стоимость: 10.00 $
- Налоги являются: 20%
- стоимость доставки являются: 5,00 $
Из этих информаций я могу вычислить:
- Цена нетто: 12.00 $
- Общая стоимость: 17,00 $
Возникает вопрос: Должен ли я хранить только 3 необработанные значения и вычислить другие 2 на каждом запросе, или я должен вычислить их один раз и хранить их тоже?
Иными словами: что более ценно? Вычислительная мощность или пространство для хранения?
Основная причина, по которой я не буду хранить расчетные результаты, заключается в том, что налоги и стоимость доставки могут меняться со временем, поэтому эти результаты устаревают или хуже: неправильно. Причиной сохранения их было бы проще/быстрее. Но для вашего примера я настоятельно рекомендую вам вычислить их на лету, когда они вам понадобятся. – Burki
Но рассмотрите ситуацию, когда налоги должны оставаться на уровне, когда это было на момент создания. Это такая ситуация? Является ли цена на товары на складе (так что налоги должны меняться при изменении законов), или это просто запись, в которой хранится готовый заказ? –
Я бы оставил вычисляемый ответ только в том случае, если есть необходимость поиска по его значению, потому что вы не можете сделать индекс по вычисленному значению, или если для его пересчета потребуется доступ к другим большим таблицам. –