2014-02-05 68 views
0

我寫了一個系統,記錄每一筆交易,包括金額,客戶,日期,...如何通過每週,每月實行歷史,每年

,但現在我需要實現一個函數來顯示的歷史最近1個月,近3月,...,

什麼來實現的回報率

我應該創建另一個表來記錄的月度數據,每週數據的最佳做法是什麼?

或只是重新計算所有的歷史,當用戶做選擇查詢?但我認爲使用這種方法可能會有不好的表現。

+0

取決於您擁有的記錄數量。通過良好的索引,您可以計算出幾千甚至幾萬條記錄。除此之外,你最有可能在聚合表上做得更好。 –

+0

有一個時間和地點的一切,包括彙總表。在這種情況下,其中一種可能值得您享受。如果你總結一天,你將只需要一張表,並且仍然會比查詢原始數據的性能更好。 –

+0

hi @thorstenmüller嗨,有沒有任何關鍵字來找到這類信息。因爲我不明白我應該採取什麼方法,謝謝 – newBike

回答

0

如果您的數據只被插入,那麼聚合表很容易管理。刪除和更新有點棘手。

不要忘記每週(即週一至週日)的日曆數據不會聚合到幾個月。 維護彙總表的一大優勢是,您可以有效地對彙總數據進行索引,因此查找每月交易量大於特定數量的所有股票實際上都是瞬時的,如果您有這種需求,那麼我一定會去沿着那條路線。

+0

嗨,有沒有任何關鍵字來找到這類信息。因爲我不明白我應該採取什麼方法,謝謝 – newBike

0

更好地使用act_as_versioned作爲歷史記錄功能。使用act_as_versioned可以輕鬆追蹤記錄的歷史記錄。

相關問題