过滤器的顺序是否适用于AppEngine数据存储区?

时间:2013-05-16 16:02:34

标签: google-app-engine filter objectify

我想知道,过滤器的顺序是否在appengine数据存储中很重要?

示例,假设我们有两个过滤器:isDeleted和startDate。改变这些的顺序 两个过滤属性很重要?或者,appengine会自动优化过滤器。

例如,通过isDeleted过滤将数据缩小,然后按顺序过滤是有意义的:isDeleted然后是startDate。但是,如果以相反的顺序startDate定义过滤器,则isDeleted,此查询可能未进行优化。

我的问题是过滤器中的过滤器或索引条目的声明顺序是否重要?或者这个优化会自动完成吗?

1 个答案:

答案 0 :(得分:2)

是的,这很重要。正如我所说,你有一个索引isdeleted,startdate。不要以其他方式创建索引。如果以另一种方式执行此操作,您将首先过滤日期,但稍后它将必须扫描该日期范围内的所有项目以查找未删除的项目。 如果您这样做,我建议您只看未删除,然后快速找到我的日期范围,而无需扫描所有。