詳講創(chuàng)建ADO.Net數(shù)據(jù)庫使用秘訣
對于ADO.NET TEAM 的測試結果,自己編譯的話大概會節(jié)省28%的時間。不過我在自己電腦上測試的結果沒有那么理想,大概是一半左右的時間,創(chuàng)建ADO.Net數(shù)據(jù)庫進行解釋說明。
從第二階段開始,性能的優(yōu)劣就非常明顯的展現(xiàn)在我們面前,第二階段到第六階段,不論操作數(shù)據(jù)量的大小,圖中的耗 時比例幾乎是相同的。Entity Framework無可爭議的以極高的效率在三種方案中脫穎而出,而LINQ to SQL的龜速修改和刪除操作消耗的時間幾乎是EF的10倍,ADO.net在添加數(shù)據(jù)上的表現(xiàn)實在不盡如人意,這也跟我們項目底層寫法有關。
從上面的測試結果可以看出,創(chuàng)建ADO.Net除去EF在初次操作數(shù)據(jù)是延遲的3秒鐘(初步認為是初始化時間),EF的平均效率是LINQ to SQL的6倍,是當前項目機制的4倍,這是非常可觀的效率提升,不難理解為什么微軟幾乎放棄了LINQ to SQL,全力支持EF了。 #t#
***次創(chuàng)建ObjectContext并查詢數(shù)據(jù)時耗費了大量的時間,原因是什么?有沒有什么優(yōu)化的方法?本文將創(chuàng)建ADO.Net給出一個合理的解釋。
下面這個餅狀圖給出了***次創(chuàng)建ObjectContext并用其訪問數(shù)據(jù)庫時各種操作所占的時間比
從中可以看出僅僅創(chuàng)建ADO.Net一個操作就占用了56%的時間,不過令人欣慰的是,這個操作只出現(xiàn)在***次查詢的時候,之后生成好的View會被緩存起來供以后使用。一個View.cs文件的樣本如下: