1

GAE データストアを使用する場合、以下のどのオプションが最も効果的ですか? (memcache が利用できないと仮定します)

オプション 1: DataModel: Entity User にはいくつかのキーと電子メール アドレスがあります (電子メールをキーとして使用することはできません)

a) メールで一致をフィルタリングするユーザーに対してクエリを実行する

またはオプション 2:

DataModel: Entity User にはいくつかのキーがあり、Entity UserLogin には電子メール アドレスがキーとしてあり、ユーザー キーがあります

a) UserLogin で get を実行し、次に
b) UserLogin からのユーザー キーを使用して User で get を実行します。

4

2 に答える 2

4

Get 操作は、実行コストが低いことは言うまでもなく、クエリよりも大幅に高速です。2 つの get 操作のシーケンスは、単一のクエリよりも高速になる可能性があります。たとえば、ステータス ダッシュボードでは、get 操作は約 10 ミリ秒で推移し、クエリ操作は約 80 ミリ秒で推移していますが、これが重要な場合は、両方をベンチマークして自分で確認することをお勧めします。

于 2012-11-08T10:12:58.927 に答える
1

オプション2では1つの操作を実行して結果を取得し、その後で2番目の操作を実行するため、オプション1の方が高速になると思います。

ただし、毎日少なくとも数百万回実行しない限り、違いはごくわずかです。

于 2012-11-08T05:10:37.903 に答える