[英]Improve EF Linq query performance
我需要在连接其他较小表的大表(1m记录)上执行Linq查询的问题。 运行查询所花费的时间太长,有时会以Execution Timeout Expired
结束。 我不确定如何改进查询以减少执行时间。
var result = from p in db.population
join e in db.engineers on p.id equals e.personId into ps
from e in ps.DefaultIfEmpty()
where (e == null || e.activity == "student")
select p.name;
var final result = result.Take(100).ToList();
基本上,我想从db.population
中获得不是工程师的前100名人员,但不包括工程师学生。
我不确定查询是否可以以更好的方式编写以提高性能?
加入之前尝试做
var result = from p in db.population
join e in db.engineers.WHERE( c=> c.activity == "student")
on p.id equals e.personId into ps
from e in ps.DefaultIfEmpty()
where (e == null)
select p.name;
var final result = result.Take(100).ToList();
要么
join e in db.engineers.WHERE( c=> c.activity == "student").Take(100)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.