可以从如下几个方面来进行优化!
分类 |
使用技术、比较 |
说明 |
集合操作 |
数组、泛型、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实现静态页面技术 |
可以定时生成静态页面,实时生成静态页面,根据网站大小,访问量来定 |
目前就先整理这么多,如果大家还有更好的方法,请在评论中留言!有时间我再整理,加到这里面来!