谷歌应用引擎(Python)缓慢的祖先查询

时间:2015-06-01 13:09:40

标签: python performance google-app-engine google-cloud-datastore

我正在使用appstats来调试我们应用中的一些重要查询。我注意到的一件事是,对于特定的实体类型,祖先查询比非祖先查询慢很多倍。

当我离开时:

q = Entity.query(ancestor=ancestor_key)
q = q.filter(Entity.field == 'foo')
return q.fetch(10)

为:

q = Entity.query()
q = q.filter(Entity.field == 'foo')
return q.fetch(10)

在开发环境中,第一个查询总是超过500毫秒,通常超过1秒,而第二个查询需要20-100毫秒。所有正确的索引都已到位,并且没有其他任何内容与查询同时运行。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

dev_appserver是对真实事物的模仿。它不能以相同的方式表现。不要担心这样的事情,除非它在部署时也是一个问题。