我的数据存储处理需要很多次。 所以,我用StackDriver检查了什么过程需要时间 - >跟踪。 然后," datastore_v3.Next"多次被召唤。
我找到了以下文件。 https://cloud.google.com/appengine/docs/standard/python/tools/appstats
数据存储区查询通常涉及datastore_v3.RunQuery,后跟 零个或多个datastore_v3.Next调用。 (RunQuery返回前几个 结果,因此API仅在获取许多结果时使用Next。 避免不必要的下一次通话可能会加快您的应用!)
但是,我不明白
添加: MyCode位于
之下 @classmethod
def get_foo(cls, user_key, foo):
search_key = ndb.Key('UserInformation', user_key.id(), 'Foo', foo)
return search_key.get()
UserInformation和Foo类有100万个实体。
答案 0 :(得分:0)
主要方式是the doc中提到的方法,只是不返回不必要的大结果集。
如果你只关心查询中的前几个结果,你可以考虑使用fetch,它可以返回一组有限的结果而不是整个结果。
此外,您还可以充分利用memcache on NDB,更少的数据存储区调用意味着更少。下一次调用。