zoukankan      html  css  js  c++  java
  • 简单的优化处理 By LINQ TO SQL

    最近在做关于新浪微博授权的一些minisite,数据库并不复杂,所以在数据打交道这块采用了linqtosql,开发起来更快更简单。。。但是随着用户访问逐渐增多,用户上传的图片也越来越多,因为首页是一个显示图片墙的效果,客户抱怨loading时间太长,跳出率比较高。so 除了前端要做一些优化之外,后台返回的接口也有一定必要的查询优化。好了,见代码。

    这是之前写的(菜鸟都是这样做,无鄙视菜鸟之意,我之前就是这么写) 

    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秒不到,可是通过网络去访问的时候,加载的时间相当长~这个何解,有什么方法呢

  • 相关阅读:
    动态规划
    nginx访问静态资源403
    转)服务器CPU占用100%的问题排查
    linux下脚本设置开机自启服务
    在蓝鲸标准运维上进行原子开发
    Django model数据排序
    Mac tar压缩命令,去除隐藏文件
    vue 简单的分页功能实现二
    vue 简单的分页功能实现一
    安装 libmagic in Mac OS (for Python-magic)
  • 原文地址:https://www.cnblogs.com/Gavin001/p/3527155.html
Copyright © 2011-2022 走看看