在一个 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扫描。
谢谢戈登
我有一个包含 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扫描。 谢谢戈登