1.采用3层逻辑模型:用户界面层、业务层、数据层

2.使用最佳的Data Provider,即,sql server 就用System.Data.sqlClient,Oracle就用System.Data.OracleClient

3.读取大量数据,对返回数据不做大量处理用DataReader;需要做大量处理的用DataSet。通常情况下,DataReader比DataSet快16%。

4.数据绑定时,不要用<%# DataBinder.Eval(Container.DataItem,"字段名") %>,因为底层的反射机制会影响性能。使用<%# ((DataRowView)Container.DataItem)["字段名"] %>会提高很大性能。注意要这样用必须要在前台页面导入名称空间System.Data。<%@ Import namespace="System.Data" %>

5.若不使用PostBack的功能,请在页面级屏蔽viewstate,PostBack每次都会重新生成控件,请对控件级的ViewState屏蔽。如果希望更明确地限制viewstate的使用,可将ASP.NET配置为默认关闭:

之后需要使用viewstate的页面直接在页面指令打开即可:

<%@ Page EnableViewState="true" %>

6.缓存那些经常被访问,并且变化不大的数据。

其他一些建议:

(1). 不要使用不必要的Session。

(2). 不要使用不必要的服务器控件。

(3). 不要用Exception控制程序流程。

(4). 禁用脚本动态数据类型。

(5). 尽量使用存储过程完成数据访问。

(6). 只读数据访问不要使用DataSet。

(7). 关闭ASP.NET的DEBUG模式。

(8). 使用ASP.NET的OutPut Cache缓冲数据。

(9). 尽量用SQL返回GRIDVIEW等控件需要绑定的DataSet,尽量不要对DataSet进行二次加工,特别不要对DataSet进行大量删除,实践证明这很慢,不如复制部分数据。

(10). 尽量把数据库的数据查询操作压缩到最小,尽量1-2次查询操作就可完成。

(11). 注意优化数据库的查询操作。

(12). 不要在页面加载时默认选择全部数据,尽管可以方便后续操作,但用户会以为“啥都没干就这么慢”

(13). 仅在需要的时候打开数据库连接,用完立即关闭。在关闭连接前记得删除临时对象,确保关闭任何用户定义事务。

(14). 显示非交互性数据,DataReader可以获得最佳性能。

(15). 注意共享那些经过复杂处理或漫长查询才得到的数据。

(16). 在页面跳转时记得终止当前页面的处理。

(17). 有大量字符串操作的时候不要用+,改用StringBuilder类。

posted on 2012-07-12 09:51  blueskywyf  阅读(139)  评论(0编辑  收藏  举报