我有一个包含数百万行的Postgres表。其中一列是时间戳,我需要查询时间大于x且小于y的行。由于我收回了数十万行,即使我将其编入索引,查询也需要很长时间。
我的计划是使用Futures列表同时在很短的时间间隔内进行查询,然后我会在之后汇总结果。
我应该期待我希望的大幅加速吗?有更好的方法吗?
答案 0 :(得分:0)
取决于您遇到瓶颈的地方。如果它在网络I / O上,那么它将无法获得显着的帮助。
如果它是磁盘I / O,它可能会有所帮助,因为它可以有效地并行化查询。但只有当您的数据库服务器从I / O并行化中获益很大时。您可能无法获得多少好处,因此请在手动调度一堆查询并在计算重新编码代码之前对其进行计时以进行测试。
确保您正在进行正向索引扫描 - 请参阅EXPLAIN ANALYZE
;如果您正在进行反向索引扫描,那么您将获得更少的好处。
TL; DR:基准并见。