Показать результаты вычислений на лету против сохранения предварительно рассчитанных результатов в таблице - PullRequest
0 голосов
/ 19 июля 2011

У меня есть результаты, которые рассчитываются по нескольким строкам в разных таблицах.Эти результаты затем отображаются в профиле.Чтобы показать самые последние результаты по запросу, я должен хранить эти результаты в отдельной таблице и обновлять их при изменении?или я должен идти с вычислением этих результатов на лету?

1 Ответ

2 голосов
/ 19 июля 2011

Как обычно, с вопросами о производительности, ответ "это зависит".

Я бы, вероятно, начал с вычисления результатов на лету и начал с предварительного вычисления их, когда это станет проблемой.

Если у вас есть предварительно вычисленные / обобщенные копии ваших основных данных, вам необходимо настроить процесс обновления, чтобы убедиться, что ваши сводные данные верны. Это может быть довольно сложно и может добавить большую сложность вашему приложению, поэтому я бы не стал этого делать, если бы не пришлось. Вы также захотите иметь набор инструментов для проверки работоспособности, чтобы убедиться, что ваши резюме действительно правильные. Также пригодится набор инструментов «убей все и восстанови сгенерированные сводки».

Если эти вычисления являются проблемой (и под этим я подразумеваю, что вы измерили производительность и знаете, что ваши рассматриваемые запросы являются узким местом, и у вас есть цифры, чтобы доказать это), то это может стоить дополнительного кодирования усилия по обслуживанию.

...