Если вы добавите логику на сервер приложений или базу данных
Предположим, у меня есть 5 магазинов в 5 разных городах. Я хочу узнать, сколько я заработал в день на город в этом месяце.
У меня есть 2 варианта.
1) Логика на сервере приложений:
for (each city)
for (each day) {
Query(city, day);
}
}
Это приведет к запросам города * день.
2) Логика на сервере БД: добавьте один сложный запрос агрегации.
Какой из двух вариантов предпочтительнее? Ищете плюсы и минусы обоих? Какой из них выглядит более читабельным?
1 ответ
Решение
Не имеет никакого смысла многократно запрашивать БД для данных из одной и той же таблицы (как я понимаю, как это будет выглядеть) и обрабатывать результаты самостоятельно, когда база данных может сделать это за вас за один раз. Вы бы поставили ненужную нагрузку на сеть, базу данных и ваше приложение.