哪种方法会减少 Google App Engine 数据存储命中:
- 单个 dataobject.fetch(limit=10) 或
- dataobject.get() 重复 10 次。
哪种方法会减少 Google App Engine 数据存储命中:
db.get()
成本低于query.fetch(limit)
.
https://developers.google.com/appengine/docs/billing#Billable_Resource_Unit_Costs
对于 (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 小便士将是开销。