1

非常に大量のデータをページ分割する必要がある Rails 3 のプロジェクトに取り組んでいます。パフォーマンスを最大化するために大量のデータ (フォーラムの投稿など) をページ分割する適切な方法は何ですか? コレクションから 10 個のモデルだけを取得し、次のページに移動するときに再度取得すると、サーバーの負荷がかかりすぎますか? それとも、すべてをロードし、javascript を使用してそれらをページ付けしたほうがよいでしょうか?

4

1 に答える 1

5

SQL ソリューションを探しているとします。

10 個のオブジェクトをプルすることは、サーバーの負荷の問題ではありません。問題は、それらをフィルタリングするために使用しているクエリです。それらをフィルタリングするために単純な主キーまたはその他の効率的な識別子を使用する場合、それは完全に問題ないはずです。単純にページを次々と (そして各ページに 10 個の項目を) リストしたいだけなら、問題はないと思います。必要な列をフェッチするようにしてください(つまり、選択した列で不要な列を避けます)。

will_paginateページネーションにはまたはを使用できますkaminari。コレクションのサイズに関係なく、必要なレコード (各ページにプルするオブジェクトの数) のみをフェッチします。

カミナリ

Rails 3 用の Scope & Engine ベースの、クリーンでパワフル、カスタマイズ可能で洗練されたページネーター

will_paginate

Rails 3、Sinatra、Merb、DataMapper などのページネーション ライブラリ

于 2012-11-02T07:11:39.670 に答える