We have a Kimball-style star schema data mart. We have tens of millions of rows with a variety of integer and decimal data types. We are performing aggregating SELECT queries either over the entire data in the table or over a significant slice of data. We aggregate the data according to the dimensionality and calculate aggregated values. All data is pre-loaded into the buffer cache. We are not using SQL Server Analysis Services, only the relational engine.
We expect the performance of the system to degrade as additional calculations are added, and as more result rows are required, however we also expect that it is cheaper to include additional SELECT clauses in a single statement versus separating the requests into multiple statements.
As the number of SELECT clauses is increased, we see a mostly linear progression in calculation time. However, at a certain point the performance degrades substantially such that it may be cheaper to execute multiple queries rather than a single execution of the more complex query.
Full details in attachment.