在使用EF 5.0和WCF数据服务对我的数据访问例程进行一些测试期间,我遇到了性能问题。我从一个WCF数据服务操作中执行以下的简单查询:增加检索到的记录数指数增加linq查询持续时间
var addresses = (from address in context.Addresses select address).Take(500);
var addressList = addresses.ToList();
当我只需要500条记录,查询时间约为300毫秒。以1000条记录为例,查询时间为4秒。以2000条记录查询时间为24秒。记录约6000条记录,查询时间为360秒或更长。
当我执行由Sql Server Management Studio中EF生成的sql语句时,6000记录查询基本上是瞬时的。
可以配置哪些设置以消除此性能问题?
如果不需要改变,然后跟踪你可以尝试调用'.AsNoTracking()'您'DbQuery'所以你不要没有ObjectStateManager的开销。 – 2013-05-01 01:28:41