web-dev-qa-db-ja.com

大きなデータ(10k〜50k行)を効率的に読み込むためにjquery datatableを最適化する方法は?

私のウェブサイトにデータを表示するために、最小限の設定でjquery datatableを使用しています。私が持っています データテーブルに表示する10K〜50Kレコード

現在、データテーブルは取り回しています 3000レコードを初期化するのに60秒

データテーブルを初期化するために利用できる2つのオプションがあります:

1)ページにhtmlテーブルとしてレコードを追加し、そのテーブルのデータテーブルを初期化します。
2)レコードのJSONを取得し、そのデータでデータテーブルを初期化します。

次の手順を実行すると、datatableプラグインのパフォーマンスが向上します。

1)列の数を減らす
2)関連列のグループ化
3)必須フィールドでのみ並べ替えを使用するか、並べ替え機能をすべて削除します

データは次のとおりです -これは、プレビュー/編集/削除のオプションを備えたmcqの質問のセットです

enter image description here

質問の検索は、私のアプリケーションにとって非常に重要です
提供されたデータセットにデータテーブルを使用するための最適なソリューションを提供してください。

15
abhinsit

3番目のオプションを忘れた:サーバー側の処理

公式ドキュメントから知る必要があるほぼすべてを学ぶことができます: http://www.datatables.net/examples/server_side/simple.html

基本的には、テーブルを表示するために絶対に必要なデータのみをロードします。別のページに移動したり、検索したりするなど、ページにさらにデータが必要になると、サーバーはクライアントにより多くのデータを返します。

データをDataTablesに取り込む方法は多数あります。非常に大きなデータベースを使用している場合は、DataTablesが提供するサーバー側オプションの使用を検討することをお勧めします。サーバー側の処理を有効にすると、DataTablesが実行するすべてのページング、searching、順序付けなどのアクションは、SQLエンジン(または同様の)大規模なデータセットでこれらのアクションを実行できます(結局、データベースエンジンの設計目的です!)。そのため、テーブルを描画するたびに、必要なデータを取得するために新しいAjaxリクエストが作成されます。

7
AmuletxHeart