Я испытываю плохое время загрузки моих .aspx
страниц, и сейчас я пытаюсь его оптимизировать. Сначала я использовал Visual Studio Performance Analyzer
и SQL Server Profiler
, чтобы найти медленные места, а затем положил Stopwatch
es непосредственно в свой код.Linq-to-SQL очень медленная материализация
Не совсем понимаю, что происходит, но это выглядит как самый медленный метод в целом приложение является метод материализации, но это медленно только три небольших столиков:
internal T[] GetTableAsArray<T>() where T : class
{
return dataContext.GetTable<T>().ToArray();
}
Четвертый стол в порядке , SQL Server Profiler
показывает нулевые Duration
SQL-запросов, но мой Stopwatch
показывает 677ms, 884ms, 355ms и 8ms. Все таблицы составляют ~ 50 строк и ~ 7 столбцов.
Любые идеи? Где я должен копать?
"маленький" как? Сколько записей есть? Почему вы вызываете 'ToArray()' кстати, из любопытства? Часто бывает хорошей практикой итерации таким образом, чтобы linq-to-sql откладывал загрузку. –
Small - это ~ 50 строк и ~ 7 столбцов простых данных. Я нашел причину замедления, и, к сожалению, для меня это требует серьезного пересмотра моего приложения, чтобы исправить это. – Denis
В чем причина? –