以下Google App Engineのデータストアのヒットで結果に近づく:フェッチGET対()データストア価格
- 単一dataobject.fetch(リミット= 10)OR
- dataobject.get( )を10回繰り返した。
以下Google App Engineのデータストアのヒットで結果に近づく:フェッチGET対()データストア価格
db.get()
は、query.fetch(limit)
よりも安い。 (1)について
https://developers.google.com/appengine/docs/billing#Billable_Resource_Unit_Costs
:10×GET:1×QUERY + 10×GET(フェッチされたエントリに1つ)= 11のREADオペレーション= 11×60 = 660 micropennies
(2)について= 10 READ操作= 10 x 60 = 600マイクロペンニス
最も安いのは、実際にクエリを実行し、エントリの「キー」のみを取得することです。
最も安い:クエリ(keys_only = True):1 x QUERY + 10 x SMALL_GET = 1 READ + 10 SMALL = 60 + 10これは、フェッチしている各エントリのデータにアクセスする必要がない場合に有効です。 * 10 = 160個のマイクロペニー。
受信したキーを繰り返し処理して各データを再度照会すると、もっとも安価であることに注意してください。この場合、10x10 = 100の微生物がオーバーヘッドになります。
"query.fetch(10)"と "db.get(key)x 10"の意味ですか? – Albert
いいえ、どちらの場合でもエンティティ全体を返したいと思います。同じリンクからは、get()のコストがfetch()よりも低くなっているように見えます。 – Andrew