可以从如下几个方面来进行优化!
分类 | 使用技术、比较 | 说明 |
集合操作 | 数组、泛型、ArrayList | 经过测试,最快的是数组,然后是泛型,最慢的是ArrayList |
字符串优化 | String和StringBuilder | 经过测试,StringBuilder的速度比String快无限倍… |
类型转换优化 | 在进行数拓转换的时候使用TryParse() | 因为这种方式不会抛出异常。系统在捕获异常是非常耗时的! |
重定向优化 | 在同一个程序中使用Server.Transfer | 但这种方式当用户点后退按钮时可能会出生异常。 |
---- | 尽早释放对象 | 很多对象都实现了Idispose接口,所以调用dispose方法尽早释放! |
服务器控件优化 | 尽量少用服务端控件 | 服务端控件会生成很多不必要的属性,ViewState等。 |
数据操作优化 | 尽晚打开数据库连接,尽早关闭连接。 | 例如: connection.open(); command.ExecuteNonQuery(XXX); connection.colse(); //紧挨着执行语句后马上关闭 |
查询只读数据使用DataReader | 因为DataReader每次只读一条数据,DataSet是一次性读取,所以DataReader会有性能提高 | |
使用存储过程 | 存储过程是预编译的,执行速度快,安全性高。 | |
SQL语句优化 | 避免不必要的字段查询(如:select *) 只选有用的字段 (select id) | |
减少使用子查询. | ||
经常使用的字段使用索引的方式查询 | 索引的好处:http://www.cnblogs.com/zhuiyi/archive/2011/07/05/2097863.html | |
连接池应用 | 学习中,待添加。。。 | 学习中,待添加。。。 |
合理使用缓存策略 | @OutputCaChe指令,System.Web.CaChing | 前者是页面级的缓存,后者可以有一个“质”的提高. |
Web.Config | 将<Compitation debug=”true”> 改成false | 默认是调试模式 |
合理使用ViewState | 通过EnableViewState=”false”来禁用 | 减少页面的大小,从而减少流量 |
合理使用会话状态 | 一般使用默认的inProc就可以 | Session超时20分钟。 |
使用Ajax | 通过Ajax可以实现局部刷新 | 减小流量,只刷新需要刷新的地方! |
生成静态页面 | 通过IO实现静态页面技术 | 可以定时生成静态页面,实时生成静态页面,根据网站大小,访问量来定 |
目前就先整理这么多,如果大家还有更好的方法,请在评论中留言!有时间我再整理,加到这里面来!