使用时间序列表
如果您将数据保留滚动时段,请使用一系列表,如下图所示。
每当添加一组数据时创建一个新表,然后删除系列中最旧的表。您将获得双重好处:
-
避免增加删除行的成本,因为 DROP TABLE 操作比大规模 DELETE 更高效。
-
如果按时间戳对表进行排序,则不需要执行 vacuum 操作。如果每个表包含一个月的数据,则 vacuum 最多必须重写一个月的数据,即使表不是按时间戳排序的也是如此。
您可以创建 UNION ALL 视图供报告查询使用,从而隐藏数据存储在多个表中的事实。如果查询按排序键进行筛选,则查询计划程序可高效地跳过未使用的所有表。UNION ALL 对其他类型的查询可能不太高效,因此您应在所有使用表的查询的环境中评估查询性能。