私が取り組んでいるアプリには、医師の検索リストがあります。これは 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>
ユーザーは、5,000 人の医師全員について、上記の html を含む jQuery ダイアログを表示するリンクをクリックします。これは問題なく動作しますが、レンダリングが非常に遅くなります。パフォーマンスを向上させる必要がありますが、どうすればよいかわかりません。
- ビューがロードされるたびに 5k オブジェクトをロードし続ける必要がないように、医師リストをキャッシュする必要がありますか? そのリストはDBからロードされています。このリストはまったく、またはめったに変更されないため、心配する必要はありません。
- HTML出力をキャッシュする方法はありますか?
- データをページ分割しますが、トップダウン リストが必要だと思います。[次へ] をクリックし続けるよりも、スクロールする方が速くなります。
ここでパフォーマンスを向上させるにはどうすればよいですか?