📣TiDB Cloud BYOC、TiDB Cloud Filesystem 和 PostgreSQL-compatible TiDB Cloud Starter 全新发布,开放公测中。此页面由 AI 自动翻译,英文原文请见此处。

CREATE AGGREGATING INDEX



在 TiDB Cloud Lake 中创建一个新的聚合索引。

语法

CREATE [ OR REPLACE ] AGGREGATING INDEX <index_name> AS SELECT ...
  • 创建聚合索引时,其使用范围仅限于包含标准聚合函数的查询(例如 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 命令分析该查询。

示例

以下示例为查询 "SELECT MIN(a), MAX(c) FROM agg" 创建了一个名为 my_agg_index 的聚合索引:

-- Prepare data CREATE TABLE agg(a int, b int, c int); INSERT INTO agg VALUES (1,1,4), (1,2,1), (1,2,4), (2,2,5); -- Create an aggregating index CREATE AGGREGATING INDEX my_agg_index AS SELECT MIN(a), MAX(c) FROM agg;

文档内容是否有帮助?