
# HBase全局二级索引API介绍说明
使用全局索引的API都在类"org.apache.hadoop.hbase.hindex.global.GlobalIndexAdmin"中，相关接口介绍如下：
| 操作                                            | 接口                           | 描述                                                                                                                |
|:---|:---|:---|
| 添加索引                                          | addIndices()                 | 将索引添加到没有数据的表中。调用此接口会将用户指定的索引添加到表中，但会跳过生成索引数据。该接口的使用场景为用户想要在具有大量预先存在用户数据的表上批量添加索引，然后使用GlobalTableIndexer工具来构建索引数据。 |
| 添加索引                                          | addIndicesWithData()         | 将索引添加到有数据的表中。此方法将用户指定的索引添加到表中，并会对已经存在的用户数据创建对应的索引数据，也可先调用该方法生成索引再在存入用户数据的同时生成索引数据。当数据表中存在大量数据时，不建议使用此接口。          |
| 删除索引                                          | dropIndices()                | 仅删除索引，索引元数据与索引数据均会被删除，在此操作之后，索引不能用于**scan** /**filter**操作。                                                        |
| 索引状态修改  | alterGlobalIndicesUnusable() | 禁用用户指定的索引，使其不再可用于**scan** /**filter**操作。                                                                          |
| 索引状态修改  | alterGlobalIndicesActive()   | 启用用户指定的索引，使其可用于**scan** /**filter**操作。                                                                            |
| 索引状态修改  | alterGlobalIndicesInactive() | 禁用用户指定的索引，且放弃生成索引数据，不再可用于**scan** /**filter**操作，通常用于索引修复流程。                                                       |
| 查看已创建的索引                                      | listIndices()                | 可用于列出给定表中的所有索引。                                                                                                   |
   
