查询映射表索引信息

更新时间:
复制 MD 格式

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

前提条件

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

  • SQL 查询功能需要使用 5.4.2 及以上版本,建议使用最新版本。

功能说明

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

def exe_sql_query(self, query)
说明

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

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

query = "SHOW INDEX IN example_search_table"
row_list, _, _ = client.exe_sql_query(query)

for row in row_list:
    values = dict(row.attribute_columns)
    print(values["Key_name"], values["Column_name"], values["Index_type"])

参数说明

exe_sql_query 方法包含以下参数。

名称

类型

说明

query(必选)

String

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

返回值

exe_sql_query 方法返回一个三元组,包含以下元素。

元素

类型

说明

row_list

List[Row]

索引信息列表。每一行对应一个主键、二级索引或多元索引字段。

table_capacity_units

List[Tuple]

各数据表消耗的读写 CU。每个元组包含数据表名称和 CapacityUnit 对象。

search_capacity_units

List[Tuple]

各多元索引消耗的读写 CU。每个元组包含多元索引名称和 CapacityUnit 对象。

结果集字段

字段

类型

说明

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

索引表达式。