问题描述
我尝试了在postgres和timescaleDB之间进行简单的性能测试。 这是我的结果:-
总行403,204
使用Postgres
使用TimescaleDB
cellForRow
解决方法
几件事:
- 我有点困惑。 time_bucket是一个TimescaleDB函数,而不是Postgres函数,因此它可能正在运行我们的某些代码。
- 您仍在对所有数据执行全表扫描。在这里没有太多的优化方法。并且数据集很小(400K),因此将全部容纳在缓冲区缓存中;如果要查看某些插入/查询性能,则可能需要(a)更多数据,(b)更复杂的查询类型。
- 但是TimescaleDB还具有其他功能。例如,打开压缩,您可能会发现这些“全表扫描”更快(尽管一旦进入磁盘绑定的工作负载)。或启用连续aggs,以便您可以连续/递增地实现这些结果以服务于例如面向用户的仪表板。