|
|
1
5
你可以:
编辑:要了解更多信息,请查看 Restrictions on Queries |
|
|
2
1
您最多可以从一个查询中获得1000个结果,因此按每种方式对它们进行排序 极其 高效——例如,考虑一下,在我的MacBookAir上(第一天,最慢的机型):
Appengine的CPU基本上比空气快,所以对1000个结果进行排序的700微秒将是 非常 悲观的估计;这与 几十毫秒 对于 取来 数据——所以,别担心 完全 关于排序:只要你能得到你想要的结果,你就会没事的。
顺便说一句,要评估任务中可能的应用程序引擎性能,请参见Guido van Rossum的演示。
here
--他声称10-50毫秒
如果您期望一个查询的结果超过1000个,这通常意味着您需要取消表的规格化,以将查询的结果减少到1000个以下。例如,在您的案例中,假设您期望每天大约有500-700个条目——在这种情况下,获得今天的所有结果是没有问题的,但是一周 是 当然是个问题:您需要将查询减少到“正常”查询量的20%或更少。 例如,假设你的分数在0-100之间,大约是均匀分布的。在这种情况下,您可以向实体添加一个布尔字段“topcandidate”:保存实体时,如果分数在85-100范围内,则将该字段设置为“真”(如您所见,这意味着表将不规范化,因为该字段表示逻辑上的冗余信息)。 当您获取每周的顶级结果时,您添加相等条件以使TopCandidate为真。而不是3500-4900个结果,这应该会让你降到500-900——最高得分15%左右,之后你可以在内存中对它们进行排序,然后选择,比如说,前100个。
当然,确切的数字取决于
|
|
|
3
0
试试这个:
|
|
|
4
-1
我认为按多个属性排序可能有效。只需使用第一个不等式属性作为第一个排序属性。
|
|
|
Noah Watkins · ndb的控制索引。Expando模型属性 8 年前 |
|
|
mooose · 如何使用服务帐户从应用程序脚本访问云数据存储 8 年前 |
|
|
user2302244 · 从云存储读取大型文件并写入数据存储 8 年前 |