У нас возникла проблема в запросе linq.В запросе выбора несколько таблиц связаны с объединениями.Где фильтры записи были применены в разделе соединения.
Этот запрос работал нормально и дал правильный результат в течение последних 8-9 месяцев.Внезапно потребовалось около 2 минут, чтобы извлечь запись с тем же объединением и потреблением 99% ЦП.
Этот запрос используется всегда при входе пользователя в систему, поэтому он уверен, что в прошлом он работал нормально до момента выпуска.Может ли кто-нибудь помочь, почему эта проблема возникла внезапно?
var entityList = (from x in db.TableA
join y in db.TableB on x.Id equals y.TableC.TableAId into g
from d in g.DefaultIfEmpty()
where d.EndDateTime == null &&
(d == null || d.TableE.PersonID == personId) &&
x.EndDateTime == null &&
d.TableC.EndDateTime == null &&
x.TableE.PersonID == personId
select new
{
Col1 = d != null ? d.TableC.TableD.Id : 0,
Col2 = d != null ? d.TableC.Id : 0,
}).AsQueryable();