表中多个列的b树索引的用法

时间:2019-01-09 10:04:58

标签: sql database postgresql indexing

据我所知,数据库中最常见的索引之一是使用b-tree的索引。

如果我有整数列的索引

column1 column2
   2     name2
   3     name3
   1     name4

它可能会创建如下所示的索引

 2
| |
1 3

如果我使用column2,它可能会这样创建

   name2
 |      |
name1 name3

但是如果我有一个包含两个字段的复合索引,那么它将如何排序呢?它是否可以与两列进行基本比较?

数据库还有其他一些针对索引结构的优化吗?

1 个答案:

答案 0 :(得分:1)

多个键在索引中一起使用:

     2,name2
     |     |
1,name4  3,name3

在第一个键上进行比较。仅在平局的情况下,才会使用下一个键。因此,如果所有数字都相同,您将拥有:

     2,name2
     |     |
2,name3  2,name4