2012-11-02 57 views
1

我正在Rails 3中需要分頁數量非常大的項目。將大量數據分頁(例如論壇帖子)以最大化性能的正確方法是什麼?如果我只從一個集合中獲取10個模型並在轉到下一個頁面時再次獲取,那麼對於服務器來說是否會造成太多工作量?或者只是加載所有內容並使用javascript對它們進行分頁會更好?正確的方式來分頁大量的數據

回答

5

假設你正在尋找解決方案SQL:

拉10個對象將不是一個服務器負載問題。問題是你用什麼查詢來過濾它們。如果您使用簡單的主鍵過濾它們或其他有效的標識符,它應該是完全正確的。如果您只想一個接一個地列出頁面(每頁有10個項目),我不會看到問題。只要確保,你可以獲取你需要的列(這是避免不必要的列在你選擇)。

您可以使用will_paginatekaminari進行分頁。無論您的收藏大小如何,他們只會抓取您需要的記錄(您想在每個頁面上拉出的對象數量)。

kaminari

作用域&發動機爲主,乾淨,功能強大,可定製的和複雜的分頁程序爲Rails 3

will_paginate

分頁庫爲Rails 3,西納特拉,Merb的,DataMapper的,和更

+0

+1對於kaminari和will_paginate,兩者我都會建議:) – sevenseacat

+2

+1對於kaminari,will_pagina沒有更新很長時間 – Avdept

+0

感謝您的建議! – Edward

相關問題