全部产品
Search
文档中心

表格存储:查询映射表索引信息

更新时间:Jul 30, 2026

通过 Java SDK 查询映射表的主键和关联索引的名称、字段及索引类型等信息。

前提条件

  • 安装Tablestore Java SDK并初始化客户端。

  • 使用 5.13.0 及以上版本的 Tablestore Java SDK。

功能说明

调用 sqlQuery 方法执行 SHOW INDEX 语句,查询指定映射表的索引信息。

SQLQueryResponse sqlQuery(SQLQueryRequest request)
说明

查询数据表映射时,结果包含主键以及该数据表下二级索引和多元索引的字段信息。查询多元索引映射时,结果仅包含主键和指定多元索引的字段信息。

以下示例查询 example_search_index_mapping 多元索引映射的索引信息,并读取常用返回字段。

SQLQueryRequest request =
        new SQLQueryRequest("SHOW INDEX IN example_search_index_mapping");
SQLQueryResponse response = client.sqlQuery(request);

SQLResultSet resultSet = response.getSQLResultSet();
while (resultSet.hasNext()) {
    SQLRow row = resultSet.next();
    System.out.println(
            row.getString("Table") + ", "
                    + row.getString("Key_name") + ", "
                    + row.getString("Column_name") + ", "
                    + row.getString("Index_type"));
}

参数说明

SQLQueryRequest 包含以下参数。

名称

类型

说明

query(必选)

String

要执行的 SHOW INDEX IN <mapping_table_name> 语句,其中 mapping_table_name 为映射表名称。

返回值

SQLQueryResponse 包含以下与映射表索引相关的字段。

字段

类型

说明

type

SQLStatementType

通过 getSQLStatementType() 获取 SQL 语句类型。执行 SHOW INDEX 语句时返回 SQL_SELECT

rows

ByteString

索引信息的序列化数据。通过 getSQLResultSet() 获取解析后的 SQLResultSet

结果集字段

SQLResultSet 中的每一行对应一个主键、二级索引或多元索引字段,包含以下列。

字段

类型

说明

Table

String

映射表名称。

Non_unique

Long

索引是否允许重复值。0 表示不允许,1 表示允许。

Key_name

String

索引名称。主键返回 PRIMARY

Seq_in_index

Long

字段在索引中的顺序,从 1 开始。

Column_name

String

索引字段名称。

Is_defined_column

String

字段是否为数据表的预定义列。

Search_type

String

多元索引字段的查询类型。

Collation

String

字段在索引中的排序方式。

Cardinality

Long

索引中不同值数量的估算值。

Sub_part

Long

索引字段的前缀长度。

Packed

String

索引的压缩方式。

Null

String

字段是否允许为空。

Index_type

String

索引类型。全局二级索引返回 GlobalIndex,本地二级索引返回 LocalIndex,多元索引返回 SearchIndex

Comment

String

索引备注。

Index_comment

String

索引注释。

Visible

String

索引是否可见。

Expression

String

索引表达式。