У меня следующий запрос, который принимает много времени -WCF OData повышение производительности
var allEmployees = (from e in context.Employees.Expand("Payroll/Customer")
.Expand("HR")
.Expand("Payroll1")
where e.IsActive
&& e.Payroll.EmployeeId== this.CurrentEmployee.EmployeeId
orderby e.Name
select e).ToArray();
Вопросы -
- Как я могу улучшить производительность?
- Какая часть запроса занимает слишком много времени, Это может быть предложение Expand, где, orderby, select.
- Наконец-то я преобразовываю результат в массив. Может ли это повлиять на производительность?
- Есть ли у меня другие альтернативы, такие как Parallel.For, PLINQ и т. Д. Я не уверен в этом.
Пожалуйста, предложите
Добавьте свою точную структуру таблицы (включая все индексы!), Захваченный сгенерированный SQL и план выполнения. –
@RemusRusanu Это пример запроса не точный. –
Для общего подхода к ускорению запросов читайте [Ожидания и очереди] (http://technet.microsoft.com/en-us/library/cc966413.aspx). –