Одной из хороших возможностей поддержки реляционных баз данных являются агрегированные функции, такие как count, sum, avg и т.д. Но кажется, что если вы используете GAE, при вставке или обновлении записи вы должны вычислять и хранить счет, сумму, avg и т.д. значения всей таблицы. Но что, если у вас много условных группировок? Учитывая человека:
class Person {
@Id
Integer age;
String city;
}
Если я хочу
- общее число лиц и
- средний возраст
Правильно ли, что каждый раз, когда я создаю, обновляю или удаляю человека, я должен также вычислять оба агрегата и хранить их как отдельные столбцы в одной таблице. Если мне также нужны общие и средние значения для каждого города, следует ли хранить эти значения для каждого города также как отдельные столбцы в одной таблице?