1
我試圖找出一個更有效的方法來添加一個筆記計數,與幾個簡單的條件應用於查詢。然而,這可能會持續很長時間,因爲有多達20K條記錄需要迭代。歡迎任何關於此的想法。更高效的活動記錄查詢大量的列
def reblog_array(notes)
data = []
notes.select('note_type, count(*) as count').where(:note_type => 'reblog', :created_at => Date.today.years_ago(1)..Date.today).group('DATE(created_at)').each do |n|
data << n.count
end
return data
end
這是什麼傳遞給從我的控制器reblog_array(注)。
@tumblr = Tumblr.find(params[:id])
@notes = Note.where("tumblr_id = '#{@tumblr.id}'")
我想你已經在做了正確的方式的機會較少。你只做一個查詢,這很好!也許你可以通過向created_at或note_type列添加一些索引來加速。如果你需要多次做這項工作,你應該檢查計數緩存。 –