理论问题,假设我的表有四列:a,b,c,d。a和d的值相等,表由a列划分。性能方面,如果我通过a发出这个查询selectsum(b)group,会有什么不同吗;或者这个:选择sum(b)group by d;换言之,我要问的是,在分区列上使用groupby有什么性能提高吗?谢谢
hkmswyz61#
如果在过滤器(sql中的where子句)上使用分区列,通常会提高性能因为两个查询都使用“全表扫描”,所以两个查询之间应该没有太大的差别。如果有很多分区(比如50k左右),您可能会看到不同的情况,这些分区往往会降低查询性能,但通常情况并非如此。
1条答案
按热度按时间hkmswyz61#
如果在过滤器(sql中的where子句)上使用分区列,通常会提高性能
因为两个查询都使用“全表扫描”,所以两个查询之间应该没有太大的差别。如果有很多分区(比如50k左右),您可能会看到不同的情况,这些分区往往会降低查询性能,但通常情况并非如此。