我有一个从数据库中获取数据的用户控件。这需要很多时间。我的网络应用程序的速度也变慢了。我应该怎么做才能使页面加载更快?
1 回答
0
我会以一般的方式回答。
如果您只获取没有计算的数据,那么:
DataBase Part
a。优化您的 sql 查询,确保您在数据库上使用正确的索引。
乙。不要加载超过您赢得显示的数据,并进行分页。
丙。如果您同时从太多表中获取数据,请创建一个新的“平面”表,并在后台线程的计划定期基础上预先呈现您的结果。
页面部分。当您加载数据时,立即显示它们并且不要缓冲它们,并且不时刷新响应。如果您通过计算获取数据,则在将它们显示在计划的基础上之前在后台线程上进行计算,将它们放在另一个平面表上,然后显示该表。
例如,如何在获取数据时显示数据......
<%
int KathePoteFlush = 1;
object Data;
While(GetNextData(Data))
{
if (20 % KathePoteFlush++ == 0)
Response.Flush();
Response.Write(RenderMyTableData(....data....));
};
%>
于 2010-10-15T12:00:02.107 回答