所以我有一个用户类App Engine的GQL查询财产范围
class User(db.Model):
points = db.IntegerProperty()
所以我创建开发服务器上的1000个虚拟实体点范围从1到1000
query = db.GqlQuery("SELECT * FROM User WHERE points >= 300"
"AND points <= 700"
"LIMIT 20"
"ORDER BY points desc")
我只想要20每个查询的结果(足以填充页面)。我不需要任何分页结果。
一切看起来不错,它在发展服务器上工作。
问题:
1.它可以在具有100,000-500,000个用户实体的生产服务器上工作吗?我会遇到很大的滞后吗?我希望不会,因为我听说App Engine会自动索引点列
2.您可以推荐的任何其他优化技术?
缓存GQL对象没有任何意义 - 解析比酸洗/取消更便宜!但是使用Query接口比GQL稍快。 – 2010-01-11 11:30:40
我不是故意说GQL对象需要被腌制。相反,通过持有它的一个实例,你可以避免在每次请求时都要重新解析它,但如果尼克约翰逊说你不需要打扰,那肯定不会。 – 2010-01-11 14:03:51