ユーザーが自分のモバイル デバイスで自分の連絡先にアクセスします。すべての電話番号 (250 など) をサーバーに送り返し、電話番号が一致するユーザー エンティティをクエリします。
ユーザーには、索引付けされた電話フィールドがあります。だから私はそうしますUser.query(User.phone.IN(phone_list))
が、AppStatsを見ただけで、これは非常に高価です. この 1 回の操作で 250 回の読み取りが必要でした。これは、ユーザーが頻繁に行うと予想されることです。
いくつかの代替手段は何ですか?User エンティティの id 値を彼の電話番号に設定し (つまり、ユーザーを作成するときuser = User(id = phone_number)
)、 を介してキーで直接取得できると思いndb.get_multi(phones)
ますが、メールでも同じクエリを実行したいと考えています。
何か案は?