MAPREDUCE服务 MRS-基于二级索引查询HBase表数据:功能介绍
功能介绍
针对添加了二级索引的用户表,您可以通过Filter来查询数据。其数据查询性能高于针对无二级索引用户表的数据查询。
- HIndex支持的Filter类型为“SingleColumnValueFilter”,“SingleColumnValueExcludeFilter”以及“SingleColumnValuePartitionFilter”。
- HIndex支持的Comparator为“BinaryComparator”,“BitComparator”,“LongComparator”,“DecimalComparator”,“DoubleComparator”,“FloatComparator”,“IntComparator”,“NullComparator”。
二级索引的使用规则如下:
- 针对某一列或者多列创建了单索引的场景下:
- 当查询时使用此列进行过滤时,不管是AND还是OR操作,该索引都会被利用来提升查询性能。
例如:Filter_Condition(IndexCol1) AND/OR Filter_Condition(IndexCol2)
- 当查询时使用“索引列AND非索引列”过滤时,此索引会被利用来提升查询性能。
例如:Filter_Condition(IndexCol1) AND Filter_Condition(IndexCol2) AND Filter_Condition(NonIndexCol1)
- 当查询时使用“索引列OR非索引列”过滤时,此索引将不会被使用,查询性能不会因为索引得到提升。
例如:Filter_Condition(IndexCol1) AND/OR Filter_Condition(IndexCol2) OR Filter_Condition(NonIndexCol1)
- 当查询时使用此列进行过滤时,不管是AND还是OR操作,该索引都会被利用来提升查询性能。
- 针对多个列创建的联合索引场景下:
- 当查询时使用的列(多个),是联合索引所有对应列的一部分或者全部,且列的顺序与联合索引一致时,此索引会被利用来提升查询性能。
例如,针对C1、C2、C3列创建了联合索引,生效的场景包括:
Filter_Condition(IndexCol1) AND Filter_Condition(IndexCol2) AND Filter_Condition(IndexCol3)
Filter_Condition(IndexCol1) AND Filter_Condition(IndexCol2)
Filter_Condition(IndexCol1)
不生效的场景包括:
Filter_Condition(IndexCol2) AND Filter_Condition(IndexCol3)
Filter_Condition(IndexCol1) AND Filter_Condition(IndexCol3)
Filter_Condition(IndexCol2)
Filter_Condition(IndexCol3)
- 当查询时使用“索引列AND非索引列”过滤时,此索引会被利用来提升查询性能。
Filter_Condition(IndexCol1) AND Filter_Condition(NonIndexCol1)
Filter_Condition(IndexCol1) AND Filter_Condition(IndexCol2) AND Filter_Condition(NonIndexCol1)
- 当查询时使用“索引列OR非索引列”过滤时,此索引不会被使用,查询性能不会因为索引得到提升。
Filter_Condition(IndexCol1) OR Filter_Condition(NonIndexCol1)
(Filter_Condition(IndexCol1) AND Filter_Condition(IndexCol2))OR ( Filter_Condition(NonIndexCol1))
- 当查询时使用多个列进行范围查询时,只有联合索引中最后一个列可指定取值范围,前面的列只能设置为“=”。
例如:针对C1、C2、C3列创建了联合索引,需要进行范围查询时,只能针对C3设置取值范围,过滤条件为“C1=XXX,C2=XXX,C3=取值范围”。
- 当查询时使用的列(多个),是联合索引所有对应列的一部分或者全部,且列的顺序与联合索引一致时,此索引会被利用来提升查询性能。
- 针对添加了二级索引的用户表,可以通过Filter来查询数据,在单列索引和复合列索引上进行过滤查询,查询结果都与无索引结果相同,且其数据查询性能高于无二级索引用户表的数据查询性能。
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- 大数据分析是什么_使用MapReduce_创建MRS服务
- MapReduce服务_什么是MapReduce服务_什么是HBase
- GaussDB索引_GaussDB数据库索引_高斯数据库索引_华为云
- MapReduce工作原理_MapReduce是什么意思_MapReduce流程_MRS_华为云
- 什么是Spark_如何使用Spark_Spark的功能是什么
- MapReduce服务_什么是Loader_如何使用Loader
- GaussDB查询库表_GaussDB查询数据库表_高斯数据库查询库表-华为云
- MapReduce服务_什么是Hive_如何使用Hive
- GaussDB查询表结构_通配符字段查询表_高斯数据库查询表结构-华为云