У меня есть этот запрос, который выполняется через Linq to Entities. При первом запуске запроса создается план выполнения, который занимает чуть менее 2 минут. После кэширования плана запрос занимает 1-2 секунды. У меня проблема в том, что план обновляется каждые несколько часов, и я не уверен, почему это происходит?
Это запрос linq, который мы используем, я знаю, что это выглядит безумно, но для того, что нам нужно, это был наш единственный вариант.
var data = from row in mgr.ServiceDesk_RequestEvent
.Include("ServiceDesk_Event")
.Include("ServiceDesk_Event.ServiceDesk_SLAEventRule")
.Include("ServiceDesk_Event.ServiceDesk_SLAEventRule.ServiceDesk_RuleSet")
.Include("ServiceDesk_Event.ServiceDesk_SLAEventRule.ServiceDesk_RuleSet.ServiceDesk_Rule")
.Include("ServiceDesk_Event.ServiceDesk_SLAEventRule.ServiceDesk_RuleSet.ServiceDesk_Rule.ServiceDesk_RuleOperator")
.Include("ServiceDesk_Event.ServiceDesk_SLAEventRule.ServiceDesk_RuleSet.ServiceDesk_Rule.ServiceDesk_RuleConstraintField")
.Include("ServiceDesk_Event.ServiceDesk_SLAEventRule.ServiceDesk_RuleSet.ServiceDesk_Rule.ServiceDesk_RuleConstraintValue")
.Include("ServiceDesk_Event.ServiceDesk_SLAEventRule.ServiceDesk_RuleSet.ServiceDesk_Action")
.Include("ServiceDesk_Request")
.Include("ServiceDesk_Request.People_User")
.Include("ServiceDesk_Request.ServiceDesk_RequestCategory")
.Include("ServiceDesk_Request.ServiceDesk_RequestCategory.ServiceDesk_SLA")
.Include("ServiceDesk_Request.ServiceDesk_RequestRole_Groups")
.Include("ServiceDesk_Request.ServiceDesk_RequestRole_Groups.Security_Role.Security_UserRoles")
.Include("ServiceDesk_Request.ServiceDesk_RequestRole_Groups.Security_Role.Security_UserRoles.Security_User")
.Include("ServiceDesk_Request.ServiceDesk_RequestPriority")
.Include("ServiceDesk_Request.Offices_User")
.Include("ServiceDesk_Request.ServiceDesk_RequestTechnicians")
.Include("ServiceDesk_Request.ServiceDesk_RequestTechnicians.People")
where row.Completed == false && row.Deleted == false
select row;
Я не хочу вставлять сюда сгенерированный t-sql, так как он довольно большой. Если у кого-то есть идеи, пожалуйста, не стесняйтесь вносить свой вклад.
Благодарю вас.