【发布时间】:2018-09-05 22:57:12
【问题描述】:
SELECT * FROM table_1 ORDER BY time;
上述查询将查询位于table_1 中的所有行,同时按列time 对所有行进行排序。但是,如果表的大小达到数百万行,那么在添加ORDER BY time 后,获取表中的所有行将是低效的。不过幸运的是,我的表是一个使用TimescaleDB 扩展的时间序列表,并且所有行都按时插入。
在这种情况下,在确保结果查询按time 排序的同时获取表中所有内容的最有效方法是什么?
我只是删除ORDER BY time 吗?如果我删除它,我可以确定生成的查询将始终按time 的顺序排列吗?
另外,我听说 PostgreSQL 在获取表中的所有行时存在一些驱动程序问题,因为它针对查询表中的一小部分数据进行了优化。如何优化性能?
【问题讨论】: