データベースからフェッチした従業員テーブルに1つのクエリで3000レコードがあります。 1ページに20レコードを表示できます。したがって、各ページには20レコードを表示するための150ページがあります。ページング/ソート可能な列のためのウェイ(クライアント側またはサーバー側)?
1)ソート可能な列を持たない単純なページネーションを実装する場合は、3000レコードすべてをクライアントに送信して、javagriptまたはjqueryを使用してページ分割クライアント側を実行する必要があります。したがって、ユーザーが2番目のページをクリックすると、コールはサーバー側に送られず、より高速になります。 ブラウザ/クライアント側で3000以上のレコードを送信した場合の影響はどうなるでしょうか?ですから、一度にクライアントにすべてのレコードを送信し、そこをソートするか、またはページをクリックして、サーバー側にコールを送信し、その特定のページの結果を返すベスト・アプローチは何ですか?
2)このシナリオでは、ページングとソート可能な列(6列)を提供する必要があります。だからここでユーザーは従業員名や部門名のような列をクリックすることができます。名前は昇順または降順に並べる必要があります。 もう一度、タイム・レスポンス/メモリーの観点から最良のアプローチを知りたいですか?
意味のあるデータの3000件のレコードを送信する効果が大幅にクライアントのブラウザが遅くなります。私はサーバー側をページ付けしたいと思う。 – Brad
私は、どのように大きなデータセットがブラウザのパフォーマンスに影響を与えるか考えていません。あなたの答えのように見える3000以上のレコードはブラウザで処理するのが難しいでしょう。それは...ですか? –
質問:「次の20件の結果を見る確率/頻度は?それが低い場合は、サーバー側にページを貼り付けます。中等度の場合、まだサーバー側、ペナルティの価値がある。高い場合は、STILLサーバ側のボトルネックとクライアント側の処理は、それだけの価値がないかもしれませんので、:)あなたはいつも:) – PhD