其中在少谷歌App Engine的數據存儲命中接近查詢結果()數據存儲價格:取VS在谷歌應用程序引擎
- 單dataobject.fetch(限= 10)或
- dataobject.get( )重複了10次。
其中在少谷歌App Engine的數據存儲命中接近查詢結果()數據存儲價格:取VS在谷歌應用程序引擎
db.get()
成本低於query.fetch(limit)
。
https://developers.google.com/appengine/docs/billing#Billable_Resource_Unit_Costs
對於(1):1×QUERY + 10×GET =(每個條目中取出一個)11個READ操作= 11×60 = 660個micropennies
對於(2):10×GET = 10讀取操作= 10 x 60 = 600 micropennis
您最便宜的選擇是實際查詢並獲取條目的「鍵」。如果您不需要訪問每個正在提取的條目的數據,則這將起作用:
最便宜的:Query(keys_only = True):1 x QUERY + 10 x SMALL_GET = 1 READ + 10 SMALL = 60 + 10 * 10 = 160個小便士。
請注意,如果您遍歷所收到的密鑰並再次查詢每個數據,最便宜的代價會更高。在這種情況下,10x10 = 100微型將成爲開銷。
你的意思是,「query.fetch(10)」vs「db.get(key)x 10」? – Albert 2012-04-23 10:59:21
不,我想在兩種情況下返回整個實體。從同一個鏈接看,get()的成本比fetch()的成本要低。 – Andrew 2012-04-23 12:26:17