GBase 8c提供了5种索引方式:唯一索引、主键索引、多属性索引、部分索引、表达式索引,以及6种索引类型:B-tree、Hash、GiST、SP-GiST 、GIN 和 BRIN。每种索引类型使用了不同的算法来适应不同类型的查询。默认情况下, CREATE INDEX命令创建适合于大部分情况的B-tree 索引。
GBase 8c里面的所有索引都是“从属索引”,即索引在物理上与它描述的表文件分离。作为一种数据库对象,每个索引都在ps_class表里面有记录,一个索引的内部结构与该索引的访问方法(索引类型)相关。所有索引访问方法都通过页面来组织索引的内部结构,这样可以使用存储管理器提供的接口来访问索引。所有现有的索引访问方法都使用标准的页面布局。
索引从本质上来说就是一些数据的键值与元组标识符(TID)之间的映射,这些标识符确定了该索引键值在表中对应的元组。