Linq To Sql vs实体框架性能

我一直在寻找比较L2S和EF的最新性能基准,并且找不到任何使用发布版本的EF测试的调用存储过程.所以,我运行了一些我自己的测试,并发现一些有趣的结果.

这些结果是否正确?我应该用不同的方式进行测试吗?

上下文的一个实例,sproc的一个调用
(死链)

上下文的一个实例,同一个sproc的多个调用
(死链)

上下文的多个实例,同一个sproc的多个调用
(死链)

解决方法

我认为你应该以一种不同的方式进行测试,以区分 startup costs vs. execution costs.实体框架尤其具有 startup costs resulting from the need to compile database views(尽管你可以提前做到这一点).同样,LINQ有一个 compiled query的概念,如果多次执行查询,这将是适当的.

对于许多应用程序,查询执行成本将比启动成本更为重要.对于某些人来说,相反的可能是真的.由于这些性能特点不同,我认为区分它们很重要.特别地,将启动成本平均化成重复执行的查询的平均成本是误导的.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...