postgresql timescaleDB中的ASC时间索引

7gs2gvoe  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(162)

我正在构建一个TimescaleDB本地服务器,并创建我的第一个“生产”超表。关键是,目前,我的数据库的所有未来消费者都将以ASC的顺序使用数据,但默认情况下,timescale在time列中创建DESC索引。
我的疑问是,是否值得更改默认行为并将索引设置为ASC
我不知道默认情况下是否是DESC,我会有一些惩罚。我也读到过postgresql中的索引可以反向读取,所以DESC索引可以用于ASC查询,但我不知道是否会有性能损失。
另一方面,简单地删除默认索引并创建一个具有不同顺序的新索引是否安全?也不知道如果删除它,我会搞砸一些时间尺度的内部功能。
谢谢你的时间
H25E

aamkag61

aamkag611#

对于单列索引,创建为ASC还是DESC根本无关紧要,因为索引可以以相同的效率双向读取。
唯一需要在索引中指定DESC的情况是,索引应该支持ORDER BY子句,如ORDER BY a, b DESC。然后,其中一个索引列必须排序为ASC,另一个为DESC-但同样,哪个是ASC,哪个是DESC并不重要,因为索引可以在两个方向上读取。
因此,对于单列索引,不需要再次构建索引,并且首先没有充分的理由创建它DESC(但这并不重要)。

相关问题