在数据表上创建索引表后,可根据需要读取索引表中的数据或者删除数据表上指定的索引表。
前提条件
已初始化Client。具体操作,请参见初始化OTSClient。
已创建数据表,且数据表的最大版本数(max_versions)必须为1,数据生命周期(time_to_live)必须满足如下条件中的任意一个。
数据表的数据生命周期为-1(数据永不过期)。
数据表的数据生命周期不为-1时,数据表为禁止更新状态。
数据表已设置预定义列。
注意事项
索引表名称不能与已存在的时序表名称和数据表名称相同。
创建二级索引时,系统会自动将未出现在索引列中的数据表主键补齐到索引表主键中。
创建本地二级索引时,索引表的第一列主键必须与数据表的第一列主键相同。
参数
当前Python SDK不支持包含存量数据。如需在二级索引中包含存量数据请使用其他语言SDK、控制台方式或者命令行工具的方式创建二级索引。
参数 | 说明 |
main_table_name | 数据表名称。 |
index_meta | 索引表的结构信息,包括如下内容:
|
示例
创建全局二级索引
以下示例用于在主键为pk1、pk2的数据表上创建主键列为definedcol1、pk1,属性列为definedcol2、definedcol3的索引表。
# 构造索引Meta。
# 依次设置索引表名称、索引表主键列和属性列。
index_meta = SecondaryIndexMeta('<INDEX_NAME>', ['definedcol1', 'pk1'], ['definedcol2', 'definedcol3'])
# 设置数据表名称。
client.create_secondary_index('<TABLE_NAME>', index_meta)
创建本地二级索引
以下示例用于在主键为pk1、pk2的数据表上创建主键列为pk1、definedcol1,属性列为definedcol2、definedcol3的索引表。
# 构造索引Meta。
# 依次设置索引表名称、索引表主键列、索引表属性列和索引类型。
# 本地二级索引的第一列主键必须和数据表的第一列主键相同。
index_meta = SecondaryIndexMeta('<INDEX_NAME>', ['pk1', 'definedcol1'], ['definedcol2', 'definedcol3'],index_type= SecondaryIndexType.LOCAL_INDEX)
# 设置数据表名称。
client.create_secondary_index('<TABLE_NAME>', index_meta)
相关文档
创建二级索引后,您可以单行读取或者范围读取数据。具体操作,请参见使用二级索引读取数据。
如果不再需要使用二级索引,您可以删除二级索引。具体操作,请参见删除二级索引。
- 本页导读 (1)