gpt4 book ai didi

postgresql - 在 PostgreSQL+Timescale DB 上使用索引的最佳方式

转载 作者:行者123 更新时间:2023-12-04 08:05:33 27 4
gpt4 key购买 nike

我有一个包含两个时间列的 Timescale 时间序列表:itimestime对应插入时间和源时间。
我在 stime 上创建了 Timescale hypertable因为所有评估都将在源时间进行。尽管如此,我还是使用 itime 将最近存储的值发送到另一个数据库。 .在一个大约有 5000 万行的表上,现在最多需要 15 秒来获取已插入到最后的行,例如小时因为 itime未在 hypertable 中设置。
覆盖这两个应用程序以获得快速响应的最佳方法是什么?向列 itime 添加普通索引是否可行且有意义? ?

最佳答案

是的,您可以按时间构建标准索引,这肯定会有所帮助。
使用该设置,当您查询时间时,它将在每个块上运行查询,尽管将能够使用每个块上的时间索引来加快速度。在此处使用并行工作程序会有所帮助 - 应该在您的 PG 数据库的标准配置中,但会进行验证。
一个想法:是不是总是时间 >= stime 的情况? (我假设源是当事件/事情发生时,在添加到数据库时插入时间,所以时间总是在 stime 之后发生是有道理的吗?)
在这种情况下,一种可能减少查询时间的方法也是一个小技巧:SELECT * FROM TABLE where X > itime AND X > stime通过添加额外的 X > stime ,它充当“松散约束”(并且是“正确的”,因为 X > itime >= stime),但允许查询规划器然后不将查询推送到任何块 < stime。只是一个想法。

关于postgresql - 在 PostgreSQL+Timescale DB 上使用索引的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66239380/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com