通过运行 ANALYZE 提高查询性能?

问题描述

  • Postgresql 版本:12.4
  • TimescaleDB 版本:1.7.4

嗨,

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

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

问题:

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

ANALYZE _timescaledb_internal._hyper_103_45_chunk;

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

ANALYZE schema.table_name;

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)