默认情况下,当您创建连续聚合时,会自动创建一些索引。您可以更改此行为。您也可以手动创建和删除索引。
当您创建连续聚合时,将为每个 GROUP BY
列自动创建一个索引。该索引是一个复合索引,将 GROUP BY
列与 time_bucket
列组合在一起。
例如,如果您使用 GROUP BY device, location, bucket
定义连续聚合视图,则会创建两个复合索引:一个在 {device, bucket}
上,另一个在 {location, bucket}
上。
要关闭自动索引创建,请在创建连续聚合时将 timescaledb.create_group_indexes
设置为 false
。
例如
CREATE MATERIALIZED VIEW conditions_dailyWITH (timescaledb.continuous, timescaledb.create_group_indexes=false)AS...
您可以使用常规 PostgreSQL 语句在连续聚合上创建或删除索引。
例如,要在名为 weather_daily
的物化超表的 avg_temp
上创建索引
CREATE INDEX avg_temp_idx ON weather_daily (avg_temp);
索引在 _timescaledb_internal
模式下创建,连续聚合数据存储在该模式下。要删除索引,请指定模式。例如,要删除索引 avg_temp_idx
,请运行
DROP INDEX _timescaledb_internal.avg_temp_idx
在 Timescale 2.7 及更高版本中,您可以在物化视图中的任何列上创建索引。这包括聚合列,例如存储总和和平均值的列。在早期版本的 TimescaleDB 中,您无法在聚合列上创建索引。
在任何 Timescale 版本中,您都无法在连续聚合上创建唯一索引。
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面。