asp.net程序优化 尽量减少数据库连接操作

 更新时间:2012年05月02日 23:26:49   作者:   我要评论
最近做一个项目,做的比较郁闷,现在把项目经验总结在这里。项目的主要功能就是为第三方程序提供数据,并根据客户端的调用提供数据更新。我的程序属于服务端。服务端以站点形式部署,以Xml的数据格式输出
项目以我自己的设计编码完成,并整合测试。初始化数据时,问题出现了。刚开始体现在客户端接受数据很慢。测试环境环境下,数据库服务器部署在国外,网站部署在公司内部,而且我一直认为我的程序在数据库数据处理这里已经做了足够的优化,包括索引和主键已经做到了合理使用。综上所述,起初的速度问题一直没有引起我的关注。

然而最后问题的关键恰恰出在数据库连接查询方面,频繁查询导致数据初始化速度很慢。刚开始我采取的方法是即用即查:需要数据的时候就从数据库查,有比较多的单表查询返回单个字段的情况。假如我有大概3000条左右的数据集合,我循环取出其中的每一条,再从其它数据表里查询得到需要的字段,这样无故增加了3000多次数据库连接和关闭操作,当网络速度不理想时,程序速度就无法忍耐了。

坚持一条原则:尽量减少数据库连接操作。跟前端开发优化中的尽量少Http请求类似。

最终我采取的方案是将所需要的数据经过多个数据表统一放到一个List对象中,也就是放到内存中,在根据LINQ查询其中的每条数据,这样速度会快很多。这样似乎破坏力一个原则,之前我遵循的多表查询最好不要inner join3个以上的表,而这次出现了多次一个sql语句就inner join3个表以上的情况.虽然破坏了这个原则,但是相比速度极慢,连功能都实现不了的情况,显然inner join 也可以让人接受。

相关文章

  • .net 反序题目的详细解答

    .net 反序题目的详细解答

    在各种答案,以及平时面试过程中,这道题总归会有一些非常典型的错误发生。其中给老赵的感觉也非常有意思,不知其中的“思路”是否如老赵猜测那样。
    2009-06-06
  • ASP.NET读取RSS的方法

    ASP.NET读取RSS的方法

    这篇文章主要介绍了ASP.NET读取RSS的方法,非常实用的技巧,需要的朋友可以参考下
    2014-08-08
  • asp.net ListView交替背景颜色实现代码

    asp.net ListView交替背景颜色实现代码

    在asp.net中ListView的交替背景颜色实现,GridView的处理得较多,ListView可以这样实现。
    2010-02-02
  • ASP.NET Core WebApi中使用FluentValidation验证数据模型的方法

    ASP.NET Core WebApi中使用FluentValidation验证数据模型的方法

    这篇文章主要介绍了ASP.NET Core WebApi中使用FluentValidation验证数据模型的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • ASP.NET学习路线(详细)

    ASP.NET学习路线(详细)

    本文介绍的是ASP.NET的学习顺序的问题,主要针对初学者,希望对你有帮助,一起来看。
    2015-10-10
  • ASP.NET MVC分页问题解决

    ASP.NET MVC分页问题解决

    这篇文章主要为大家详细介绍了ASP.NET MVC分页问题的解决方法,Ajax.Pager分页的使用注意事项,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • asp.net下常用的加密算法MD5、SHA-1应用代码

    asp.net下常用的加密算法MD5、SHA-1应用代码

    在进行软件开发的过程中,为了提高系统的安全性能,经常需要进行敏感信息的加密处理。特别是在密码储存、文件传输、页面传值等方面,对信息进行加密显得十分必要。下面介绍我们常用的两种加密算法MD5、SHA1。
    2008-09-09
  • asp.net 常用字符串处理方法

    asp.net 常用字符串处理方法

    asp.net 常用字符串处理方法,学习asp.net的朋友可以参考下。
    2010-12-12
  • 详解.net core下如何简单构建高可用服务集群

    详解.net core下如何简单构建高可用服务集群

    一说到集群服务相信对普通开发者来说肯定想到很复杂的事情,这篇文章主要介绍了详解.net core下如何简单构建高可用服务集群,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • .net 生成拼音码与五笔码实例代码

    .net 生成拼音码与五笔码实例代码

    在本篇文章里小编给大家整理的是关于.net 生成拼音码与五笔码实例代码内容,需要的朋友们学习参考下。
    2019-08-08

最新评论