3000のユーザーレコードを持つusersテーブルがあります。ページネーションは正常に機能しますが、firebugのタイムラインを見ると、ダウンロードのコンテンツサイズは2.37MBで、ダウンロード時間は9.62秒であると記載されています。ページネーションは正常に機能しますが、最初の25レコードのみをダウンロードし、追加の利用可能なページへのリンクを提供することを望んでいました。私は黒点、思考-sphinxs、レールfind_in_batches、ストレートアップ:limit=>25などを試しました。
ページネーションがレコードセットを分割し、ページごとに25レコードを表示する場合、テーブル全体をダウンロードしているように見えるのはなぜですか?これは、ページ付けの背後にある理論や私が欠けているものを打ち負かしませんか?
@users = User.all(:conditions => ["client_id = ?", current_user.client_id]).paginate(:page => params[:page], :per_page => 25)
明らかに、ここでの目標は、10秒または12秒ではなく、1秒または2秒以内にページをロードすることです。これにアプローチするためのより良い方法はありますか?