如何优化此LinQ查询?

阿奇特·坎纳
model.mTable = m_ctx.Shop
 .Where(t => t.CustomerID== model.mFilter.CustomerID)
 .Select(f => new GroupedData
  {
      iGroupID = f.iCustomerID,
      dtGroupDt = new DateTime(f.dtDate.Year, f.dtDate.Month, f.dtDate.Day, f.dtStartTime.Hours, f.dtStartTime.Minutes, f.dtStartTime.Seconds, f.dtStartTime.Milliseconds),
 })
 .OrderByDescending(f => f.dtGroupDt)
 .Take(2)
 .ToList();

Shop是表,而CustomerID是表的主键,但是如果有很多数据,那么此查询将给我超时异常。有什么方法可以优化此查询?

卡米洛·特雷文托(Camilo Terevinto)

这里有3件事对您有帮助:

1)联合dtDatedtStartTime成一列,如果可能的话
2)创建的索引dtDate(见@TimothyStepansky评论),然后
3)重新排序,你如何执行查询(未经测试,语法可能不完全正确):

model.mTable = m_ctx.Shop
              .Where(t => t.CustomerID== model.mFilter.CustomerID)
              .OrderByDescending(t => t.dtDate)
              .ThenBy(t => t.dtStartTime)
              .Select(f => new GroupedData
              {
                  iGroupID = f.iCustomerID,
                  dtGroupDt = new DateTime(f.dtDate.Year, f.dtDate.Month, f.dtDate.Day, f.dtStartTime.Hours, f.dtStartTime.Minutes, f.dtStartTime.Seconds, f.dtStartTime.Milliseconds),
              })
              .Take(2)
              .ToList();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何优化此查询?

来自分类Dev

如何优化此查询?

来自分类Dev

如何优化此ActiveRecord查询?

来自分类Dev

如何优化此专用查询?

来自分类Dev

如何优化此表达式?LINQ?

来自分类Dev

如何优化此SharePoint查询条款?

来自分类Dev

如何优化此MySQL查询以执行Fastar?

来自分类Dev

如何优化此SQL查询并缩短?

来自分类Dev

如何使用Rails优化此查询

来自分类Dev

如何优化在Postgresql中查询此数据?

来自分类Dev

如何使用whereHas优化此查询?

来自分类Dev

如何优化此查询以防止超时

来自分类Dev

请问如何优化此mysql查询?

来自分类Dev

如何优化此MySQL查询以执行Fastar?

来自分类Dev

如何使用表联接优化此查询?

来自分类Dev

如何使用Rails优化此查询

来自分类Dev

如何使用自联接优化此查询?

来自分类Dev

如何优化此查询?检索列的值

来自分类Dev

如何嵌套此LINQ查询?

来自分类Dev

LINQ是否知道如何优化“查询”?

来自分类Dev

如何优化下面的linq查询

来自分类Dev

如何优化以下LINQ对象查询

来自分类Dev

如何优化此Linq查询,以查找过去24小时内观看次数最多的博客文章

来自分类Dev

如何通过一次调用得到两个数字来优化此linq查询?

来自分类Dev

如何优化此Linq查询,以查找过去24小时内浏览量最高的博客文章

来自分类Dev

如何编写此linq内部查询?

来自分类Dev

如何编写此linq内部查询?

来自分类Dev

如何使用LINQ编写此查询?

来自分类Dev

如何计算此linq to sql查询的总和?