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

所属分类: 网络编程 / ASP.NET 阅读数: 1049
收藏 0 赞 0 分享
项目以我自己的设计编码完成,并整合测试。初始化数据时,问题出现了。刚开始体现在客户端接受数据很慢。测试环境环境下,数据库服务器部署在国外,网站部署在公司内部,而且我一直认为我的程序在数据库数据处理这里已经做了足够的优化,包括索引和主键已经做到了合理使用。综上所述,起初的速度问题一直没有引起我的关注。

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

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

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

MVC 5限制所有HTTP请求必须是POST方式

这篇文章主要为大家详细介绍了MVC 5限制所有HTTP请求必须是POST方式的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据

这篇文章主要介绍了ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据,需要的朋友可以参考下
收藏 0 赞 0 分享

Asp.net MVC 对所有用户输入的字符串字段做Trim处理的方法

这篇文章主要介绍了Asp.net MVC 如何对所有用户输入的字符串字段做Trim处理,需要的朋友可以参考下
收藏 0 赞 0 分享

NetCore WebSocket即时通讯示例

这篇文章主要为大家详细介绍了NetCore WebSocket即时通讯示例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

深入理解Asp.Net中WebForm的生命周期

这篇文章主要给大家介绍了关于Asp.Net中WebForm生命周期的相关资料,文中介绍的非常星系,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
收藏 0 赞 0 分享

VS2013安装时如何避开IE10的限制

这篇文章主要介绍了VS2013安装时如何避开IE10的限制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Jexus部署.Net Core项目

这篇文章主要为大家详细介绍了Jexus部署.Net Core项目的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

NetCore1.1+Linux部署初体验

这篇文章主要为大家详细介绍了NetCore1.1+Linux部署的初体验,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Asp.NetCore1.1版本去掉project.json后如何打包生成跨平台包

这篇文章主要为大家详细介绍了Asp.NetCore1.1版本去掉project.json后如何打包生成跨平台包 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

开源跨平台运行服务插件TaskCore.MainForm

这篇文章主要为大家详细介绍了开源跨平台运行服务插件TaskCore.MainForm的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多