GAE数据存储 - 所有排序操作的单一复合索引

时间:2016-01-14 05:03:54

标签: java google-app-engine objectify

我使用GAE(java)和objectify来查询数据存储区。我有一个查询,其中将根据三个不同的属性过滤实体。由于它们被编入索引,因此工作正常。但我需要根据另一个属性对结果进行排序。所以我添加了像这样的复合索引

实体种类 - >

- fiterProperty1 asc

- fiterProperty2 asc

- fiterProperty3 asc

- sortingProperting desc

它也可以正常工作。但是我有六个以上的其他属性可以对查询进行排序。 (一次一个排序查询。一次不是全部六个)。所以问题是:

  1. 我可以添加复合索引的所有六种组合。是否会增加索引计数(从我到目前为止所读取的200是最大索引的限制)

  2. 我可以在单个复合索引中添加所有排序选项,例如

  3. 实体种类 - >

    - fiterProperty1 asc

    - fiterProperty2 asc

    - fiterProperty3 asc

    - sortingProperting1 desc

    - sortingProperting2 desc

    - sortingProperting3 desc

    - sortingProperting4 desc

    - sortingProperting5 desc

    - sortingProperting6 desc

    这会有效吗?我想减少写入次数和数据存储区的大小。

    我需要再次重新保存所有实体以测试查询是否有效。所以请帮助我避免一些开销。

    到目前为止我读到的其他stackoverflow帖子: 查询所有实体并在代码中对其进行排序。这对我不起作用,因为我有超过10000个单一类型的实体。我不认为这也是一个可行的解决方案。

0 个答案:

没有答案