この方法をより効率的にする方法はありますか?多数のトランザクションをクエリしていますが、期間ごとに個別のactiverecordクエリを実行するのは非効率的です。
1日中、1つのクエリを実行し、結果を期間別にグループ化して並べ替える必要がありますか?もしそうなら、これを行うための最も効率的な方法は何ですか?あなたの考えを楽しみにしています。
def self.transactions(period)
today = Date.today
time1 = Time.utc(today.year, today.month, today.day, 9, 30, 0)
time2 = Time.utc(today.year, today.month, today.day, 16, 0, 0)
transactions_by_period = {}
while time1 < time2
transactions = self.where("created_at >= ? and created_at <= ?", time1, time2)
transactions_by_period[time1] = transactions
time1 += period
end
return transactions_by_period
end
#todays_transactions_by_hour = Stock.transactions(1.hour)