?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

湖南丫丫麻将辅助:u乐平台手机客户端:数据源的选择:DataSet 与DataReader及泛类型集合的性能测试

?

长沙转转麻将必胜口诀 www.fv7j.com.cn 很早就想测试一下DataSet, DataReader的机能区别了

到了.Net 2.0期间,又多了一个泛类型聚拢绑定,于是我做了以下实验

媒介:

测试代码未必标准,然则最少可以阐明一些问题

主要应用重复绑定命据集10000次(整个在办事端进行),绑定整个应用GridView的绑定列

测试前提:

控件:GridView

字段:ID, NAME

数目15条

轮回次数 10000

测试次数 3次软件:VS2005,SQLServer2005,WindowXP

测试结果:

DataSet: 9.6, 8.9, 8.75 = 9.08秒

DataReader:6.5u乐平台手机客户端, 6.25,5.8 = 6.18秒泛类型聚拢: 7, 7.1,6.8 = 6.97秒总结假如以DataSet的速率为标准,那么DataReader的速率前进了47%,泛类型数据集速率前进了30%,差距是跟着记录集数量还有字段数量递增的。

从结果来看,虽然3次的光阴不敷准确,然则足够描述大年夜概环境了,DataSet这种器械小我觉得,除非有需要比如必要非连接更新,排序等等。一样平常没需要应用.DataReader局限性太大年夜而且机动性不敷,小我觉得绑定一些简单控件比如DropDownList或ListBox差不多。当然它的主要用途照样用于后台读取数u乐平台手机客户端据并进行操作。

泛类型数据集,这个我是看了PetShop4.0后才学的。感到共同DataReader以及营业原型(Model)一路应用足以调换DataSet。而且实际扩展和机动性在某些方面以致跨越DataSet。

我们应用DataReader的时刻最怕数据库位置变了(虽然不大年夜可能),当然DataReader也可以根据列名获取值,然则效率太低了,而且虽然办理了位置问题,然则无法办理字段名变动(这个比改位置的几率还大年夜) 我的办理规划是,在u乐平台手机客户端SQL语句中先排好字段的顺序,比如SELECT ID,NAME,TIEM FROM TABLE这样就办理了字段乱序的问题,假如办事器字段名更变了只必要改动SQL语句就好了。

那么体现层呢?体现层由于应用的是营业原型与泛类型聚拢,以是实现了与数据库字段的弱依附,你只必要指定好原型的属性进行绑定就好了,u乐平台手机客户端操作要领和绑定DataSet的做法大年夜概同等。

这样一来,除了添加了新字段,所有的改变都可以只经由过程改动SQL语句就可以整个更新。异常方便,而且效率更高。有人会问,应用DataSet同样可以实现弱依附,只需应用列名编号 DataTableu乐平台手机客户端.Rows[0][0]就可以了。切实着实,这样同样可以,然则会不会发明,比起Model.ID ,DataTable.Rows[0[0]已经丢掉了可读性。以是对付现在的开拓,除非有特殊必要,不然已经不必要应用DataSet作为数据源了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: