Google App Engine (Python) 缓慢的祖先查询

Google App Engine (Python) slow ancestor queries

我正在使用 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毫秒。所有正确的索引都已到位,与查询同时没有其他 运行。

有什么想法吗?

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