看了一下,觉得微软的企业应用程序块很不错,可测试了一下数据库应用程序块后发现它的效率也太低了。不过可以参照它的架构做自己的。
测试环境是sqlserver 2000 ,表中数据为294条记录。表的结构为
CREATE TABLE [dbo].[dSchool] (
[sch_no] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[sch_name] [varchar] (256) COLLATE Chinese_PRC_CI_AS NULL ,
[indate] [datetime] NULL ,
[inuse] [bit] NULL
) ON [PRIMARY]
GO
[sch_no] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[sch_name] [varchar] (256) COLLATE Chinese_PRC_CI_AS NULL ,
[indate] [datetime] NULL ,
[inuse] [bit] NULL
) ON [PRIMARY]
GO
在Page_Load里绑定一个DataList,第一次使用自己的,第二次使用微软的,通过两次使用数据库的时间差来判断,下面是七次测试数据,两个第一次加载的时候都比较慢,后来的几次快了点
页面第?次刷新 | 自己的访问类 | 微软的DAAB |
1 | 620.4588 | 2542.2315 |
2 | 41.093 | 169.8691 |
3 | 78.2046 | 103.3534 |
4 | 39.1949 | 141.649 |
5 | 38.9681 | 103.0002 |
6 | 67.7843 | 115.1742 |
7 | 42.0886 | 129.8916 |
基本上微软的daab要保持在110左右,自己的直接访问类保持在40之间
应该是这个程序块考虑了太得多通用性,使得运行效率比较低