У меня есть пользовательский элемент управления, который извлекает данные из базы данных. Это занимает много времени. Также скорость моего веб-приложения стала медленной. Что делать, чтобы ускорить загрузку страницы?страница загрузка занимает много времени asp.net
ответ
Я отвечу в общем.
Если только извлекает данные с расчетами вне, тогда:
DataBase Часть
. Оптимизируйте свой SQL-запрос, убедитесь, что вы используете нужные индексы в базе данных.
b. Не загружайте больше данных, которые вы выиграли для показа, и выполняйте пейджинг.
c. Если вы одновременно извлекаете данные из слишком большого количества таблиц, создайте новую «плоскую» таблицу и представьте свои результаты там на запланированной регулярной основе в фоновом потоке.Page Часть
. Пока вы загружаете данные, показываете им imidiatle и не буферизируете их, а время от времени делаете флеш к ответу.Если вы делаете данные с помощью вычислений, выполните вычисления в фоновом потоке, прежде чем показывать их на плановой основе, поместите их на другой плоский стол и покажите эту таблицу.
Например, как показывают данные, в то время как вы получаете их ....
<%
int KathePoteFlush = 1;
object Data;
While(GetNextData(Data))
{
if (20 % KathePoteFlush++ == 0)
Response.Flush();
Response.Write(RenderMyTableData(....data....));
};
%>
код, пожалуйста? Могло быть несколько причин. Напр. не удаляя соединения. – shahkalpesh
Просьба подробно рассказать об архитектуре, которую вы используете (wcf, или sqldatasources, ...). Также вы пытались использовать профилировщик SQL для измерения, если медленность находится в запросе и, возможно, не на самой странице? – XIII
Тема оптимизации слишком широка, чтобы дать какой-либо разумный ответ. – Will