【发布时间】:2019-01-09 10:04:57
【问题描述】:
据我所知,数据库中最常见的索引之一是使用b-tree 的索引。
如果我有整数列的索引
column1 column2
2 name2
3 name3
1 name4
它可能会创建如下所示的索引
2
| |
1 3
如果我使用column2,它可能会像这样创建它
name2
| |
name1 name3
但是如果我有一个包含两个字段的复合索引,那么它将如何排序呢?是否只对两列进行基本比较?
数据库对索引结构还有其他一些优化吗?
【问题讨论】:
-
您使用的是哪个 dbms? (这是一个特定于产品的问题,因为产品实现索引的方式不同。)
-
@jarlh ho,所以取决于供应商,b-tree 索引可能会有所不同?我认为所有人都使用相同的算法
-
@jarlh 我对所有 dbms 的一般概述感兴趣。虽然我自己使用 postgres
-
好吧,也许他们有。最好从了解 Postgresql 的人那里得到答案。
-
@jarlh 我并不特别关心供应商。我只想看看它是如何实现的,不管 dbms
标签: sql database postgresql indexing