使用GetRange接口和Search接口范围查询数据时的区别

区别

GetRange接口

Search接口

查询实时性

无需构建索引,直接在数据表上执行信号箱,数据写入即可查询到。

关于GetRange接口的更多信息,请参见读取数据GetRange

在多元索引上执行查询,多元索引与数据表的数据同步为异步方式,数据写入后需等待数据同步完成(大部分在3秒以内)才能查询到。

关于Search接口的更多信息,请参见多元索引简介Search

计算资源消耗和扩展性

系统会根据指定的数据范围定位到数据表的分区,读操作只会在这些分区内执行,消耗的计算资源较小,可弹性扩展。

根据创建多元索引时是否指定路由键(routing key),计算资源消耗和扩展性会存在差异。

  • 如果未指定路由键,则系统会在所有分区执行读操作,消耗的计算资源较大,弹性扩展能力稍弱。

  • 如果指定了路由键,则系统会定位到分区执行读操作,计算消耗资源较小。同时查询能力可以根据分区数来扩展,但是索引分区不支持动态分裂,因此无法支持动态扩展。

关于创建多元索引的具体操作,请参见创建多元索引

数据过滤支持

仅扫描数据,无法支持复杂的数据过滤。

基于多元索引可以支持任意列条件组合过滤,使用更灵活。