![]() |
1
2
一些简单的想法: 1)由于您需要所有的结果,而不是像您那样执行for循环,因此显式调用fetch()只需继续并立即获取所有的结果。否则,for循环可能会导致对数据存储的多个查询,因为它一次只能获取这么多的项。例如,您可以尝试:
2)可能只在初始请求中加载部分数据。然后使用Ajax技术根据需要加载额外的数据。例如,首先返回产品信息,然后发出额外的Ajax请求以获取部件。
3)正如威尔指出的,
class ProductParts(db.Model): ... products = db.ListProperty(db.Key) # product keys ...
不太重要的改进想法: 4)您可以创建一次gqlquery对象,然后重用它。这不是你的主要性能问题,但它会有一点帮助。例子:
你也应该使用 AppStats 所以你可以确切地知道为什么你的请求会花这么长时间。你甚至可以考虑发布一个关于你的请求的AppStats信息的屏幕截图和你的帖子。 如果您重新编写代码,它将以更少的往返数据存储的方式获取数据(这些更改基于上述思想1、3和4)。
|
![]() |
2
1
需要注意的一个重要事实是
所以你的
这是 GQL Reference :
您可以尝试安装 AppStats 让你的应用程序看看还有什么地方会慢下来。 |
![]() |
3
0
我认为这个问题是设计中的一个问题:当框架特别厌恶这个问题时,我希望在memcache中构造一个关系联接表。 盖伊会丢掉你的工作,因为这需要很长时间,但你不应该一开始就这么做。我自己也是盖蒂罗,所以我不能具体说明应该怎么做,不幸的是。 |
![]() |
bobi · 如何修复:谷歌登录按钮未经验证 1 年前 |
![]() |
Jad Chahine · 谷歌应用引擎灵活环境中的日志出现错误 1 年前 |
![]() |
Community wiki · 上下文中的用户和角色 1 年前 |
|
Pebii Root · 点击提交按钮时防止重复条目谷歌工作表 1 年前 |
|
Pebii · 谷歌表单防止点击提交按钮后出现重复条目 1 年前 |
![]() |
Itamar Cohen · 谷歌管理的SSL证书不起作用 3 年前 |
![]() |
cozimo · 谷歌云警告:自动应用检测已被弃用,并将很快被删除 7 年前 |