As I said in the blog tip, the type of aggregation function can affect performance. On top of that, the aggregation function run on different data types can cause additional performance impact.
In a 1M row data set, when I ran repeated tests that will show “# of Participants” based on a SUM(Participants) function vs. running the same on COUNT(Participant Name), I saw most 1 second queries taking 1.5 – 1.8 seconds.
In addition, though the impact was little, if I increased the length of the Participant Names (on an average, let’s say by doubling the length of each Participant), then query would take even longer.
Lastly, the impact of doing COUNTD on top of that will make only make it worse.
In the example above, the query that would take 1 second on SUM(Participants) and takes 1.5 sec on COUNT(Participant Name), started taking upwards of 10s, on COUNTD(Participant Name)