0

哪种方法会减少 Google App Engine 数据存储命中:

  1. 单个 dataobject.fetch(limit=10) 或
  2. dataobject.get() 重复 10 次。
4

2 回答 2

3

db.get()成本低于query.fetch(limit).

https://developers.google.com/appengine/docs/billing#Billable_Resource_Unit_Costs

于 2012-04-23T10:57:21.293 回答
2

对于 (1):1 x QUERY + 10 x GET(每个条目获取一个)= 11 READ 操作 = 11 x 60 = 660 微便士

对于 (2):10 x GET = 10 READ 操作 = 10 x 60 = 600 micropennis

您最便宜的最好方法是实际查询并仅获取条目的“密钥”。如果您不一定要访问要获取的每个条目的数据,这将起作用:

最便宜:查询(keys_only=True):1 x QUERY + 10 x SMALL_GET = 1 READ + 10 SMALL = 60 + 10*10 = 160 微便士。

请注意,如果您遍历收到的键并再次查询每个数据,那么最便宜的会更昂贵。在这种情况下,10x10 = 100 小便士将是开销。

于 2013-05-29T10:02:27.103 回答