我正在开发的应用程序有一个医生查询列表。这是一个带有 ID 的简单表单字段,此查找将允许用户查看整个医生列表并将其添加到字段中。我们在控制器中加载列表,然后将列表返回到视图,其中数据在表格中格式化。
<div id="physicians-selection-dialog">
<table id="list">
<thead>
<tr>
<td>#</td>
<td>First Name</td>
<td>Last Name</td>
<td>Department</td>
<td>State Lic</td>
</tr>
</thead>
<tbody>
@foreach (var physician in Model.Physicians)
{
<tr><td><button class="list-select" value="@physician.PhysFxId">@physician.PhysFxId</button></td><td>@physician.PhysFirstName</td><td>@physician.PhysLastName</td><td>@physician.PhysDepartment</td><td>@physician.PhysStateLic</td></tr>
}
</tbody>
</table>
</div>
用户单击一个链接,该链接显示一个带有上述 html 的 jQuery 对话框,供所有 5k 医生使用。这很好用,但是渲染速度非常慢。我需要提高性能,但不确定我应该做什么?
- 我是否应该缓存医生列表,以便每次加载视图时都不需要继续加载 5k 对象?该列表正在从数据库中加载。这个列表永远不会或很少改变,所以不用担心。
- 有没有办法缓存html输出?
- 对数据进行分页,但我认为他们需要一个自上而下的列表。滚动比继续单击下一步更快。
我怎样才能在这里提高性能?