0
  • PostgreSQL 版本:12.4
  • TimescaleDB 版本:1.7.4

你好,

我有一个表,其中数据仅基于时间分布在多个块中,即一天创建超表。我正在尝试提高 SELECT 查询的性能。为了实现这一点,我必须定期在整个表上运行 ANALYZE。由于表中没有执行任何更新或删除,因此 VACUUM 在我的情况下似乎效率低下。此外,我也不能放置多个索引,因为它会降低摄取性能并且会占用大量磁盘空间。

我按时间顺序将数据摄取到表中。最近的数据将存储在一个连续的超表中。

问题:

如果我假设我已经在所有以前的超表上运行了 ANALYZE,我只在新创建的超表上运行 ANALYZE,我会得到任何性能改进吗?

ANALYZE _timescaledb_internal._hyper_103_45_chunk;

或者是否必须在整个表上运行 ANALYZE 以获得最佳性能,为什么?

ANALYZE schema.table_name;

谢谢

4

0 回答 0