在一个 table 上加速哈希匹配运算符

Speed up Hash Match operator on one table

我有一个包含 100 万行的临时 table,我只需要遍历所有行并进行一些基本的标量计算,如下所示:

SELECT m.BatteryID, m.CarID, /*calculating some scalar*/
FROM #Return m 
GROUP BY m.CarID, m.YearTime, m.BatteryID;

table 有一个身份 1,1 聚簇索引 PK。

查询计划如下所示:

它表明我有一个很好的聚簇索引扫描,因为我总是使用 table 中的所有行,因此树是从上到下遍历的。 还有,不是聚簇索引扫描最耗时(17%),而是Hash Match(65%) 有什么办法可以提高这种简单场景的性能吗?

谢谢!

添加索引为(CarId, YearTime, BatteryId)后,变成8% StreamAggregate和90% Clustered Index扫描。 谢谢戈登