二级索引相当于把数据表的主键查询能力扩展到了不同的列,使用二级索引能加快数据查询的效率。设置预定义列后,在创建二级索引时将预定义列作为索引表的索引列或者属性列。创建二级索引后,您可以使用二级索引进行数据查询。

前提条件

已创建数据表,且数据表的最大版本数(max Versions)必须为1,数据生命周期(Time to Live)必须满足如下条件中的任意一个。
  • 数据表的数据生命周期为-1(数据永不过期)。
  • 数据表的数据生命周期不为-1时,数据表为禁止更新状态(即是否允许更新)。
说明 二级索引的数据生命周期与数据表的数据生命周期相同。

步骤一(可选):添加预定义列

使用二级索引时,如果未设置预定义列或者已有预定义列不满足需求,您可以为数据表添加或者删除预定义列。
说明 您也可以在创建数据表时添加预定义列。具体操作,请参见创建数据表
  1. 进入表管理页面。
    1. 登录表格存储控制台
    2. 概览页面,单击实例名称。
    3. 实例详情页签的数据表列表区域,单击数据表名称。
  2. 基本详情页签高级功能模块的预定义列区域,单击添加预定义列
  3. 添加预定义列对话框,输入预定义列名称和选择数据类型。
    • 预定义列名称命名规则为由大小写字母、数字或下划线(_)组成,且只能以字母或下划线(_)开头,长度在1个~255个字节。
    • 预定义列的数据类型可选为字符串整型二进制浮点数布尔值。如果预定义列需要作为索引表的索引列,则数据类型请选择字符串整型二进制
    说明 单击添加预定义列,可以一次添加多个预定义列;单击预定义列后的fig_20221020_delete图标,可以删除不需要添加的预定义列。
    fig_202220_adddefinedcolumn
  4. 单击确定
    新添加的预定义列会显示在预定义列列表中。

    如果要删除不需要的预定义列,请单击目标预定义列对应的fig_20221020_delete图标进行删除。

步骤二:创建二级索引

  1. 进入表管理页面。
    1. 登录表格存储控制台
    2. 概览页面,单击实例名称。
    3. 实例详情页签的数据表列表区域,单击数据表名称。
  2. 索引管理页签,单击创建二级索引
  3. 创建索引对话框,创建二级索引。
    fig_20221020_indexsecondary001
    1. 根据下表说明配置索引参数。
      参数描述
      索引类型索引的类型,固定取值为二级索引
      实例名所选实例名称,无法修改。
      表名所选数据表名称,无需修改。
      索引名二级索引名称。
      索引类型二级索引的类型。取值范围如下:
      • 全局二级索引:以异步方式将数据表中被索引的列和主键列的数据自动同步到索引表中。

        索引表的第一列主键可根据需要选择任意主键列或者预定义列。

      • 本地二级索引:以同步方式将数据表中被索引的列和主键列的数据自动同步到索引表中,当数据写入数据表后,即可从索引表中查询到数据。

        索引表的第一列主键必须和数据表的第一列主键相同。

      存量数据是否包含数据表中的存量数据。取值范围如下:
      • 包含存量
      • 不含存量
    2. 根据所需主键顺序依次选择主键列,单击添加主键列
      只有字符串整型二进制类型的预定义列支持作为主键列。
    3. 选择作为属性列的预定义列,单击增加预定义列
  4. 单击确定
    新添加的二级索引会显示在索引列表中。

步骤三:查询数据

使用索引表单行查询或者范围查询所需数据。

范围查询数据

  1. 进入表管理页面。
    1. 登录表格存储控制台
    2. 概览页面,单击实例名称。
    3. 实例详情页签的数据表列表区域,单击数据表名称。
  2. 索引管理页签,单击目标索引表操作列的查询
  3. 查询数据对话框,设置查询条件。
    fig_20221020_rangequery
    1. 选择查询范围范围查询
    2. 系统默认返回所有列,如需显示指定属性列,关闭获取所有列并输入需要返回的属性列,多个属性列之间用半角逗号(,)隔开。
    3. 设置起始主键列和结束主键列。
      说明
      • 范围查询优先使用第一个主键值进行查询,当设置的第一个主键值一致时,系统会使用第二个主键值进行查询,其他主键的查询规则同上。
      • 读取范围是前开后闭的区间。
    4. 最大版本数保持默认即可。
    5. 设置查询结果的排序方向,可选正序查询逆序查询
  4. 单击确定
    符合条件的数据会显示在数据列表中。

单行查询数据

  1. 进入表管理页面。
    1. 登录表格存储控制台
    2. 概览页面,单击实例名称。
    3. 实例详情页签的数据表列表区域,单击数据表名称。
  2. 索引管理页签,单击目标索引表操作列的查询
  3. 查询数据对话框,设置查询条件。
    fig_20221020_querydatasingle
    1. 选择查询范围单行查询
    2. 系统默认返回所有列,如需显示指定属性列,关闭获取所有列并输入需要返回的属性列,多个属性列之间用半角逗号(,)隔开。
    3. 输入目标行的主键值
      主键值的完整性和准确性均会影响查询。
    4. 最大版本数保持默认即可。
  4. 单击确定
    如果索引表中存在目标行,则返回对应行数据;如果索引表中不存在目标行,则返回没有数据。