假设我有一个主键为'ID'(整数)的表。
如果我填充100.000.000条记录,其中所有id都按顺序排列:(1、2、3、4、5、6、7,…)。
因此最小ID为1,最大为100.000 000。
如果id分散在哪里,查询速度会更快吗:(3,89,100,101,232,767,…)。
像PostgreSQL或Oracle这样的数据库能用这个来提高搜索的性能吗(即使比较只是“大于然后”,“小于然后”(我想)。
最佳答案
这没什么区别。因为索引通常创建一个树结构来存储值,所以搜索需要Log(n)
(n个项)来查找该项。
如果允许插入/删除,也几乎不可能保持项目的顺序。除非你花了很大的更新费用。
关于postgresql - 索引值的顺序在关系数据库中是否重要?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39045437/