查询映射表索引信息

更新时间:
复制 MD 格式

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

前提条件

安装Tablestore Go SDK并初始化客户端。SQL 查询功能需要 1.7.4 及以上版本,建议使用最新版本。

功能说明

调用 SQLQuery 方法执行 SHOW INDEX 语句,查询指定映射表的主键和关联索引信息。

func (client *TableStoreClient) SQLQuery(request *SQLQueryRequest) (*SQLQueryResponse, error)
说明

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

以下示例查询 example_table 的索引信息。

request := &tablestore.SQLQueryRequest{
    Query: "SHOW INDEX IN example_table",
}
response, err := client.SQLQuery(request)
if err != nil {
    log.Fatalf("SQLQuery failed: %v", err)
}

for response.ResultSet.HasNext() {
    row := response.ResultSet.Next()
    keyName, _ := row.GetStringByName("Key_name")
    columnName, _ := row.GetStringByName("Column_name")
    indexType, _ := row.GetStringByName("Index_type")
    fmt.Printf("%s, %s, %s\n", keyName, columnName, indexType)
}

参数说明

SQLQueryRequest 包含以下参数。

名称

类型

说明

Query(必选)

string

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

返回值

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

字段

类型

说明

Table

String

映射表名称。

Non_unique

Integer

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

Key_name

String

索引名称。主键返回 PRIMARY

Seq_in_index

Integer

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

Column_name

String

索引字段名称。

Is_defined_column

String

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

Search_type

String

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

Collation

String

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

Cardinality

Integer

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

Sub_part

Integer

索引字段的前缀长度。

Packed

String

索引的压缩方式。

Null

String

字段是否允许为空。

Index_type

String

索引类型。全局二级索引返回 GlobalIndex,本地二级索引返回 LocalIndex,多元索引返回 SearchIndex。主键行为空字符串。

Comment

String

索引备注。

Index_comment

String

索引注释。

Visible

String

索引是否可见。

Expression

String

索引表达式。