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

u樂平臺手機客戶端:數據源的選擇:DataSet 與DataReader及泛類型集合的性能測試

?

很早就想測試一下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作為數據源了。

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

河北十一选五开奖的 江苏快三全天计划 集中盈配资 骑士vs步行者 北京快三预测推荐表 下载浙江十一选五走势图 七乐彩近一百期开奖号码 篮彩 澳博足球即时赔率 大发快3全天计划 广西快乐十分基本走势图彩经网 疯狂赛车彩票官方网站 上海快3近100期 早乙女露依所有作品封面 秒速快三开奖记录结果直播 河南11选5开奖查询今天 体彩排列三和值走势图