Я вызываю простую хранимую процедуру, которая возвращает около 650 строк. Существует несколько объединений, и процедура занимает около 5-6 секунд. Нет проблем.Перечисление результатов хранимой процедуры EF
Перечисление результатов, однако, занимает около минуты.
using (var context = new DBContext())
{
var results = context.GetResults(param); //5-6 seconds
var resultList = results.ToList(); //1 minute+
}
Я не использую Entity Framework много, но это кажется ненормальным. Я делаю что-то неправильно? Есть ли что-то, что я могу посмотреть, чтобы ускорить это? Таблица огромна, но, как я ее читаю, этот код должен перечислять только 650 результатов ... которые совсем не требуют времени.
Примечание: Не уверен, если это связано, но время, которое требуется, чтобы выбрать все строки из указанной таблицы примерно одинакова (около минуты)
Вы пытались выполнить свой прок. в sql-сервере? сколько времени требуется для завершения? –
@ Selman22 Пару секунд. Чуть быстрее, чем первая строка, выполняющая его в коде. – aw04
У меня есть теория, но я хочу знать: вы пробовали профилировать запрос? На какой из этих строк фактически выполняется процедура? Я уверен, что это после второго, но я ничего не знаю о '.GetResults()', поэтому я не могу быть на 100% уверен. – IronMan84