简单的优化处理 By LINQ TO SQL
2014-01-20 17:21
211 查看
最近在做关于新浪微博授权的一些minisite,数据库并不复杂,所以在数据打交道这块采用了linqtosql,开发起来更快更简单。。。但是随着用户访问逐渐增多,用户上传的图片也越来越多,因为首页是一个显示图片墙的效果,客户抱怨loading时间太长,跳出率比较高。so 除了前端要做一些优化之外,后台返回的接口也有一定必要的查询优化。好了,见代码。
这是之前写的(菜鸟都是这样做,无鄙视菜鸟之意,我之前就是这么写)
因为有微信和新浪2个用户来源,所有有2个类型的查询。
改进之后的写法
另外还有一个疑问,查询出来的数据在服务器上响应1秒不到,可是通过网络去访问的时候,加载的时间相当长~这个何解,有什么方法呢
这是之前写的(菜鸟都是这样做,无鄙视菜鸟之意,我之前就是这么写)
List<tbl_WeChat> list = (from wc in lcdb.tbl_WeChat select wc).OrderByDescending(o => o.SendTime).ToList(); foreach (var item in list) { WallByWX wx = new WallByWX { Id = item.ID, AudioUrl = string.IsNullOrEmpty(item.ServerAudioUrl) ? item.AudioUrl : item.ServerAudioUrl, ImgUrl = item.ServerImgUrl, ScreenName = item.ScreenName, LinkCode = item.Code, Zan = item.ZanCount.HasValue ? item.ZanCount.Value : 0, IsFirst = item.IsFirst.HasValue ? item.IsFirst.Value : false }; walls.Add(wx); }
因为有微信和新浪2个用户来源,所有有2个类型的查询。
改进之后的写法
walls = (from wc in lcdb.tbl_WeChat select wc).OrderByDescending(o => o.SendTime).Select<tbl_WeChat, WallByWX>(e => new WallByWX() { Id = e.ID, AudioUrl = string.IsNullOrEmpty(e.ServerAudioUrl) ? e.AudioUrl : e.ServerAudioUrl, ImgUrl = e.ServerImgUrl, ScreenName = e.ScreenName, LinkCode = e.Code, Zan = e.ZanCount.HasValue ? e.ZanCount.Value : 0, IsFirst = e.IsFirst.HasValue ? e.IsFirst.Value : false }).ToList();
另外还有一个疑问,查询出来的数据在服务器上响应1秒不到,可是通过网络去访问的时候,加载的时间相当长~这个何解,有什么方法呢
相关文章推荐
- Linq to Sql : 三种事务处理方式
- LINQ to SQL语句(6)之Group By/Having
- Linq to sql 简单性能差异指引 2 (转)
- LINQ体验(7)——LINQ to SQL语句之Group By/Having和Exists/In/Any/All/Contains
- LINQ to SQL快速上手 step by step
- Linq To Sql模式中自动生成T-SQL增删改操作系列~PropertyChanged事件实现在子类中记录属性的变化,在基类中进行统一处理
- Linq to sql 简单性能差异指引 2 (转)
- LINQ体验(7)——LINQ to SQL语句之Group By/Having和Exists/In/Any/All/Contains
- Linq To Sql 简单的单表批量删除
- linq to sql 系列之 linq to sql性能优化技巧
- linq to sql 简单小结:
- LINQ系列:LINQ to SQL Group by/Having分组
- 步步为营VS 2008 + .NET 3.5(12) - DLINQ(LINQ to SQL)之事务处理和并发处理
- Linq to sql OrderBy使用
- LINQ to SQL快速上手 step by step
- Linq to SQL 简单增删改查
- 简单的linq to sql 的例子 ,实现了增删改查
- LINQ体验(7)――LINQ to SQL语句之Group By/Having和Exists/In/Any/All/Contains
- LINQ体验(7)——LINQ to SQL语句之Group By/Having和Exists/In/Any/All/Contains
- Linq To Sql 简单的单表批量删除