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