[英]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.