c полями user_id, name, parameter
user_account с полями id, user_id^ balance|
user_score с полями id, user_id, value
Для одного user_id можеь быть много и user_balance и user_score
Нужно одним запросом посчитать для каждого user_id сумму значений parameter, сумму балансов и сумму значений user_score.value эффективнее, чем подзапросами?
Можно попробовать использовать cte, сгруппировав покаждому user_id и посчитать сумму balance, потом ещё одним cte посчитать сумму в score. В новой версии pg это все должно заинлайнится (поправьте, если я не прав) и оптимизатор должен построить общий план выполнения, а не каждого cte. Хотя, что вы имели ввиду под словами эффективнее?
Обсуждают сегодня