【问题标题】:Possible Performance issue with Azure queryAzure 查询可能存在性能问题
【发布时间】:2017-12-30 21:34:44
【问题描述】:

我有这个代码:

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

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

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

【问题讨论】:

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

标签: c# azure xamarin xamarin.forms azure-mobile-services


【解决方案1】:

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

类似的东西

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

var emailIsValid = query.Any();

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多