对于ADO.NET TEAM 的测试结果,自己编译的话大概会节省28%的时间。不过我在自己电脑上测试的结果没有那么理想,大概是一半左右的时间,创建ADO.Net数据库进行解释说明。
从第二阶段开始,性能的优劣就非常明显的展现在我们面前,第二阶段到第六阶段,不论操作数据量的大小,图中的耗 时比例几乎是相同的。Entity Framework无可争议的以极高的效率在三种方案中脱颖而出,而LINQ to SQL的龟速修改和删除操作消耗的时间几乎是EF的10倍,ADO.net在添加数据上的表现实在不尽如人意,这也跟我们项目底层写法有关。
从上面的测试结果可以看出,创建ADO.Net除去EF在初次操作数据是延迟的3秒钟(初步认为是初始化时间),EF的平均效率是LINQ to SQL的6倍,是当前项目机制的4倍,这是非常可观的效率提升,不难理解为什么微软几乎放弃了LINQ to SQL,全力支持EF了。 #t#
***次创建ObjectContext并查询数据时耗费了大量的时间,原因是什么?有没有什么优化的方法?本文将创建ADO.Net给出一个合理的解释。
下面这个饼状图给出了***次创建ObjectContext并用其访问数据库时各种操作所占的时间比
从中可以看出仅仅创建ADO.Net一个操作就占用了56%的时间,不过令人欣慰的是,这个操作只出现在***次查询的时候,之后生成好的View会被缓存起来供以后使用。一个View.cs文件的样本如下: