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

时间:2015-11-03 12:11:37

标签: sql sql-server-2008 tsql database-performance

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

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

该表有一个标识1,1 Clustered indexed PK。

查询计划如下所示: enter image description here

它显示我有一个聚簇索引扫描很好,因为我总是使用表中的所有行,因此树从上到下移动。 此外,聚集索引扫描不是最耗时的(17%),但哈希匹配(65%) 有没有办法在这种简单的场景下提高性能?

谢谢!

1 个答案:

答案 0 :(得分:2)

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