Azure 查询可能存在的性能问题

Possible Performance issue with Azure query

我有这个代码:

IEnumerable<Users> allItems = await MobileService.GetTable<Users>().CreateQuery().ToEnumerableAsync();

foreach (var item in allItems) {
    if (item.Email.Equals(emailEntry.Text)) {
        emailIsValid = true;
    }
}

它检索我的 azure table 中的所有项目,然后我检查在文本字段中输入的电子邮件是否有效(匹配 azure table 中的一个)。问题是,在我看来,我的 table 中可能有成千上万的用户登录,我不知道这种电子邮件验证方法在性能方面是否可行,如果不可行,那将是什么更好的方法吗?

构造查询以在服务器端完成大部分繁重的工作。应用过滤器以减少网络上的数据量。

像这样

var email = emailEntry.Text;
var query = await MobileService.GetTable<Users>()
                               .Where(item => item.Email == email)
                               .ToEnumerableAsync();

var emailIsValid = query.Any();

除非需要使用所有用户,否则无需全部获取。