我最近添加了用戶活動跟蹤功能到我的應用程序,該應用程序跟蹤用戶與多個模型的交互以及每個模型中的幾個不同操作。Rails 3活動跟蹤器數據庫管理
class User
has_many :activities, :order => 'created_at desc'
def log_activity(object, type)
activities.create(:subject_type => object.class.name, :subject_id => object.id, :subject_action_type => type)
end
end
現在我呼叫的用戶之後,此方法創建/更新/刪除各種對象,並顯示在用戶配置文件這一活動。我想象一段時間後,Activities表將包含如此多的記錄,它將會到達影響加載時間的點。我想知道一個好的實現是以一種用戶友好的方式來管理它,並保持我的數據庫順利運行。
我正在考慮設置某種計劃任務,在x時間後清理舊記錄。也許你可以給出一些建議,以告知如何實現這個目標或推薦更好的解決方案?
我正在使用PostgreSQL作爲我的選擇數據庫。
我想我總是可以手動運行查詢。如果它太麻煩了,我相信只要自動化這個過程並不麻煩。 – Noz 2012-08-13 18:44:32