Timescale Cloud:性能、扩展、企业版
自托管产品
MST
重新排序单个分块的堆,使其遵循索引的顺序。此函数与 PostgreSQL CLUSTER 命令 的作用类似,但它使用较低的锁级别,因此与 CLUSTER 命令不同,分块和超表在大部分操作过程中可以被读取。它在操作期间确实会占用更多磁盘空间。
当数据查询顺序与原始插入顺序不同时,此命令特别有用。例如,数据通常以松散的时间顺序插入到超表中(例如,许多设备同时发送它们的当前状态),但用户通常会查询超表中*特定*设备的数据。在这种情况下,使用 `(device_id, time)` 上的索引重新排序分块可以显著提高这些类型查询的性能。
可以直接在超表的单个分块上调用此函数,但使用 add_reorder_policy 通常会更方便。
名称 | 类型 | 描述 |
---|---|---|
chunk | REGCLASS | 要重新排序的分块名称。 |
名称 | 类型 | 描述 |
---|---|---|
index | REGCLASS | 用于排序的索引名称(位于超表或分块上)。 |
verbose | BOOLEAN | 设置为 true 时显示重新排序命令的进度消息。默认为 false。 |
此函数返回 void。
按索引重新排序分块
SELECT reorder_chunk('_timescaledb_internal._hyper_1_10_chunk', '_timescaledb_internal.conditions_device_id_time_idx');
关键词