新聞中心
用于在某個時候只返回一頁記錄的技術(shù)之一是建立一個SQL語句,該語句包含一個WHERE和ORDER BY子句,并有TOP判定。這種技術(shù)依賴于識別每個唯一行的方法,那么,Oracle是否有計(jì)劃給Visual Studio編寫?yīng)毺氐?font>ADO.Net性能呢?

在和田等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷,成都外貿(mào)網(wǎng)站建設(shè),和田網(wǎng)站建設(shè)費(fèi)用合理。
測試環(huán)境當(dāng)然就是我這臺筆記本了,受限與硬盤轉(zhuǎn)速,運(yùn)行起來一定是不如臺式機(jī)的,但至少保證了三個方案相同的軟硬件環(huán)境:Windows Server 2008,Visual Studio 2008,MS SQL Server 2008,清一色的***產(chǎn)品。
測試分成六個階段,數(shù)據(jù)量分別為10,10,100,1千,1萬,10萬逐級增長,分別測試了讀取、寫入、更改、刪除四個基本的操作的耗時,結(jié)果如下(時間單位:秒):
| ***次讀寫10條數(shù)據(jù) | |||||
| 讀寫方式 | 讀取耗時 | 添加耗時 | 修改耗時 | 刪除耗時 | 平均耗時 |
| 當(dāng)前機(jī)制(簡化) | 0.007 | 0.35 | 0.02 | 0.014 | 0.09775 |
| LINQ to SQL | 0.023 | 0.083 | 0.102 | 0.068 | 0.069 |
| Entity Framework | 0.238 | 3.084 | 0.009 | 0.006 | 0.83425 |
***階段測試結(jié)果非常出人意料,ADO.Net性能和LINQ to SQL操作數(shù)據(jù)的時間都控制在0.5秒以內(nèi),非常的迅速,但是Entity Framework在添加這步表現(xiàn)非常差,由于這五步是連續(xù)測試,其中添加數(shù)據(jù)是***步操作,而EF在在進(jìn)行***步操作的時候足足延遲了3秒鐘!這3秒鐘 到底EF在做什么?
從第二階段開始,性能的優(yōu)劣就非常明顯的展現(xiàn)在我們面前,第二階段到第六階段,不論操作數(shù)據(jù)量的大小,圖中的耗 時比例幾乎是相同的。Entity Framework無可爭議的以極高的效率在三種方案中脫穎而出,而LINQ to SQL的龜速修改和刪除操作消耗的時間幾乎是EF的10倍,ADO.Net性能在添加數(shù)據(jù)上的表現(xiàn)實(shí)在不盡如人意,這也跟我們項(xiàng)目底層寫法有關(guān)。 #t#
從上面的測試結(jié)果可以看出,除去EF在初次操作數(shù)據(jù)是延遲的3秒鐘(初步認(rèn)為是初始化時間),EF的平均效率是LINQ to SQL的6倍,是當(dāng)前項(xiàng)目機(jī)制的4倍,這是非??捎^的效率提升,不難理解為什么微軟幾乎放棄了LINQ to SQL,全力支持EF了。
新聞標(biāo)題:進(jìn)行ADO.Net性能測試數(shù)據(jù)分析
URL分享:http://fisionsoft.com.cn/article/cccjcoj.html


咨詢
建站咨詢
