私はこの質問の話題で前提を作っているかもしれませんが、ここに状況があります。 私は、Rails 4アプリケーションの背後にあるmysqlには、540万行のかなり大きなテーブルを持っています。 私はdatatablesと検索を使用しています。そのすべては問題ありませんが、will_paginate
の宝石が私たちのパフォーマンスを殺しています。私はwill_paginateとしてこれを回避する方法、これが原因で、MySQLと「後半行オフセット」の問題であると考えていますが、will_paginateと "late row offset"の問題
orders = Order.not_pending.where("azonref like :search or sales_channel like :search", search: "%#{params[:sSearch]}%")
orders = orders.distinct.order("#{sort_column} #{sort_direction}")
# this next line is the killer
orders = orders.page(page).per_page(per_page)
は、SQLを生成していますか?ここで
データテーブルを使用している場合は、データソースオプションを使用してこれを処理する必要があります。データシートの上にページ番号を付けるのは良いことではありません。 – dstull
注文の配列をチェックしてください。アクティブなレコードであるかどうかを確認し、配列やスムースを間違って配列してください。 –
@dstull - 例(またはこの質問に対する答えを定式化すること)?私が使用しているすべてのRoR/Datatablesの例はwill_paginateです。 – phil