所以我有一個用戶類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