2011-01-15 4 views

答えて

4

フェッチから1000エンティティの制限が削除されましたが、依然として自分自身の明示的な上限を指定する必要があります。もちろん、これを十分大きくすると、すべてのエンティティを取得できます。

上記で提案した反復子アプローチは機能的に同等です(フェッチに渡される制限がすべてのエンティティを取得するのに十分な大きさである場合)。しかしながら、それらは異なる性能特性を有する。特に、反復子は、小さなアイデンティティのチャンクを一度にフェッチします。エンティティが多数ある場合は、イテレータを使用するバージョンではさらに多くのRPCが作成されます。

+0

ありがとう、それは私の疑いでした。 (また、私の質問を更新しました - 私が書いたように、私は 'limit = BIG_HUGE_NUM'を考えていましたが、元の質問に入れませんでした) –

+11

fetch()はイテレータよりも少ないRPCを使う利点がありません特別なbatch_sizeパラメータが提供されます。ただし、batch_sizeはrun()にも渡すことができるため、fetch()にはパフォーマンス上のメリットはありません。 http://bjk5.com/post/23601113262/app-engine-performance-essentials-youll-certainlyを参照してください。 – kamens