2个都是在执行 int use = .....这句的时候慢。
数据有最大有几百万条,但是现在blists里只有几万条的数据,查询速度就很慢了。这个有办法优化吗?
下面2种写法有没有区别?如果有那个执行效率较好(不考虑别的,只考虑得到use的结果)var blist = from p in blists
group p by new { p.roleid,p.oper_type} into g
select new { g.Key.oper_type, sum_gold = g.Sum(p => p.gold), sum_coupon = g.Sum(p => p.coupon), sum_copper = g.Sum(p => p.copper) };int use = blist.Where(p => p.oper_type == 1).Sum(p => p.sum_gold);/////////////////////////////////////////////////
var blist = from p in blists
group p by p.oper_type into g
select new { g.Key, sum_gold = g.Sum(p => p.gold), sum_coupon = g.Sum(p => p.coupon), sum_copper = g.Sum(p => p.copper) };int use = blist.SingleOrDefault(p => p.oper_type == 1).sum_gold;
数据有最大有几百万条,但是现在blists里只有几万条的数据,查询速度就很慢了。这个有办法优化吗?
下面2种写法有没有区别?如果有那个执行效率较好(不考虑别的,只考虑得到use的结果)var blist = from p in blists
group p by new { p.roleid,p.oper_type} into g
select new { g.Key.oper_type, sum_gold = g.Sum(p => p.gold), sum_coupon = g.Sum(p => p.coupon), sum_copper = g.Sum(p => p.copper) };int use = blist.Where(p => p.oper_type == 1).Sum(p => p.sum_gold);/////////////////////////////////////////////////
var blist = from p in blists
group p by p.oper_type into g
select new { g.Key, sum_gold = g.Sum(p => p.gold), sum_coupon = g.Sum(p => p.coupon), sum_copper = g.Sum(p => p.copper) };int use = blist.SingleOrDefault(p => p.oper_type == 1).sum_gold;
解决方案 »
- CKeditor保存到数据库
- 在从服务器接收结果时发生传输级错误。 (provider: TCP Provider, error: 0 - 句柄无效。)
- 求跨域登录的解决方案
- 超菜问题
- 关于asp.net运行出错~~求救 谢谢~~
- 为什么没有弹出对话框而直接执行了下一句呢?
- 求救!!如何得到postedfile的路径!谢谢!
- JavaScriptSerializer类的T DeserializeObject<T>(string value)报错,value字符串里的值可以带冒号吗?
- JS的问题
- 请问怎样设置xp的smtp和用jmail4.3实现收发邮件?
- asp.net detailsview点击编辑不显示更新,取消按钮
- asp.net逻辑思维的,求同仁帮忙解决
你两种方法都使用了 Sum 等类似这样的非延迟查询操作符
会导致查询立即执行去操作内存中的数据