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.
 

 摘自  细细的程序员

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • asp.net 设置GridView的选中行的实现代码
  • C#高级编程:数据库连接[1]
  • ASP.NET&#160;GridView列表代码示例
  • 经典C++程序1
  • 微软ASP.NET站点部署指南(2):部署SQL Server Compact数据库
  • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1