表格存储作为海量结构化大数据存储,支持不同的索引结构,便于不同场景的查询分析加速使用。使用SQL查询功能时,您可以通过显式访问二级索引表进行索引查询。对于多元索引,表格存储提供了自动索引选择策略。

说明 关于二级索引和多元索引的更多信息,请分别参见二级索引简介多元索引简介

显式访问二级索引表

注意 当前表格存储不支持自动选择二级索引进行数据查询。

通过CREATE TABLE语句创建二级索引表的映射关系后,执行SELECT语句查询数据。具体操作,请参见快速入门

自动选择多元索引

当使用SQL进行非主键列查询、多列自由组合查询等复杂查询需求时,推荐您为数据表创建多元索引,如果WHERE子句中所有的过滤列以及SELECT语句中的返回列均在一个多元索引中,表格存储会自动选择该多元索引进行数据查询。例如Select A,B,C from exampletable where A=XXX and D = YY;语句,如果A、B、C、D列均在exampletable表的同一个多元索引中,则表格存储会自动选择多元索引进行数据查询。

此外,当Groupby、聚合函数等组合使用时,如果符合多元索引Search接口的统计聚合能力,则表格存储也会进行识别并下推算子,关于下推算子的更多信息,请参见计算下推

多元索引中Search查询与SQL表达式的映射

SQL表达式 示例 多元素引中Search查询
without predicate 不涉及 全匹配查询(MatchAllQuery)
=
  • a = 1
  • b = "hello world"
精确查询(TermQuery)
> a > 1 范围查询(RangeQuery)
>= a >= 2
< a < 5
<= a <= 10
is null a is null 列存在性查询(ExistsQuery)
is not null a is not null
and a = 1 and b = "hello world" 多条件组合查询(BoolQuery)
or a > 1 or b = 2
not not a = 1
!= a !=1