asp.Net性能优化(3)
来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:04 点击:次
SqlDataAdapter myAdapter=new SqlDataAdapter(queryStr,connectionStr);
for(int i=0;i<1000;i++) //for循环模拟取得数据前的商业逻辑操作
{
Thread.Sleep(1000);
}
MyConnection.Open(); //打开连接
myAdapter.Fill(ds);
MyConnection.Close(); //关闭连接
for(int i=0;i<1000;i++) ////for循环模拟取得数据后的商业逻辑操作
{
Thread.Sleep(1000);
}
显示II代码比I代码好的多,I中早早占着连接不放,如果用户很多的话,容易出现 连接池满情况。严重时出现死机现象.
2.数据库查询
I. 直接生成sql语句。 sql server每次都要对其进行编译,在性能方面不会有很大 的提高。另外也不够安全。容易被攻击.
II. 使用带参数的sql命令。这种方式sql server只对其编译一次,对于不同的参数 可以重复使用编译后的命令。提高了性能.
III.使用sql server存储过程. 编译一次. 具有独立性,便于修改和维护. 一次能完 成用语句发送多次的功能.减少了网络的流量。 并不一定存储过程一定比语句效率要高,如果商业逻辑很复杂的话,有时候用 语句比存储过程效率要高.
(六).缓存优化
缓存分为两种:页面缓存和API缓存.
1.使用页面缓存和片段缓存
<%@ OutputCache Duration="5" VaryByParam="None"%> <%@ OutputCache Duration=60 VaryByParam=”TextBox1,TextBox2” %>
说明: Duration是设置Cache的过期时间; VarByParam是设置是否根据参数而变化,None时所有参数使用同一Cache, 设置TextBox1时则根据TextBox1的不同值分别缓存;当有多个参数时则要组合缓存;
2.API缓存。用于在应用程序中使用
I. 一个Cache使用的例子: http://blog.csdn.net/chengking/archive/2005/10/03/494545.aspx
II.使用时注意Page.Cache和HttpContext.Current.Cache区别:它们指的同一个对象,在Page里,用Page.Cache,如果在global.asax或自己的类 里用:HttpContext.Current.Cache 在有些事件中,由于其没有HttpContext,就用HttpRuntime.Cache.
摘自 细细的程序员
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 进入详细评论页>>
今日头条
更多>>您可能感兴趣的文章
- 微软ASP.NET站点部署指南(11):部署SQL Server数据
- Pro ASP.NET MVC 3 Framework学习笔记之九
- asp.net js模拟Button点击事件
- 谈.Net委托与线程——创建无阻塞的异步调用(一
- MVC中一个表单实现多个提交按钮(一个action搞定
- winform下通过webclient使用非流方式上传(post)数据和
- Asp.net MVC源码分析--Model Validation(Client端)实现(2)
- 教你如何来恢复一个丢失的数据文件
- ASP.NET数据格式的Format--DataFormatString
- asp.net 六大内置对象(2)