二级索引是从主访问路径访问数据的正交方式。在 HBase 中,您有一个索引按字典顺序排序在主键行上。以不同于主要行的方式访问记录需要扫描表中的所有行,以针对您的过滤器对其进行测试。通过二级索引,您索引的列或表达式形成一个备用行键,以允许沿着这个新轴进行点查找和范围扫描。
Phoenix 是特别强大的,因为我们提供覆盖索引 - 一旦找到索引条目,我们不需要返回主表。相反,我们将我们关心的数据绑定到索引行,节省了读取时间的开销。
例如,以下内容将在v1和v2列上创建索引,并在索引中包含v3列以防止从数据表中获取该列:
1 | CREATE INDEX my_index ON my_table (v1,v2) INCLUDE(v3) |