多个 DISTINCT 聚合

如果查询具有多个 DISTINCT 聚合,则无法通过简单地重写 SQL 来计算它们。以下查询就无法通过简单地重写来提高性能:

SELECT a, COUNT(DISTINCT b), COUNT(DISTINCT c) AS dcnt FROM table1 GROUP BY a;

对于具有多个 DISTINCT 聚合的查询,没有一种投影设计可以避免使用 GROUPBY HASH 以及对数据进行重新分段。要提升此查询的性能,请确保它具有大量内存可用。有关为查询分配内存的详细信息,请参阅资源管理器