聚合索引
AGGREGATING INDEX是企业版功能。 如需获取许可证,请联系 Databend 支持团队。
聚合索引的主要目的是提升查询性能,特别是在涉及聚合查询(如MIN、MAX和SUM)的场景中。它通过预先计算并存储查询结果在单独的块中,从而无需扫描整个表,加快数据检索速度。在使用聚合索引时,请注意以下事项:
-
创建聚合索引时,限制其使用于标准的聚合函数(例如,AVG、SUM、MIN、MAX、COUNT和GROUP BY),同时注意GROUPING SETS、窗口函数、LIMIT和ORDER BY不被接受,否则会报错:
Currently create aggregating index just support simple query, like: SELECT ... FROM ... WHERE ... GROUP BY ...
。 -
创建聚合索引时定义的查询过滤范围应与实际查询的范围匹配或包含实际查询的范围。
-
要确认聚合索引是否对查询有效,请使用EXPLAIN命令分析查询。
-
如果不再需要聚合索引,请考虑删除它。请注意,删除聚合索引不会移除关联的存储块。要同时删除块,请使用VACUUM TABLE命令。要禁用聚合索引功能,请将
enable_aggregating_index_scan
设置为0。