2012-01-08 184 views
0

我每天可能會有一千萬到兩千萬個詳細記錄(統計數據和性能數據),必須將其讀入並彙總爲每小時24小時摘要記錄和每日1個摘要記錄。用MySQL創建簡要記錄的最佳方式是什麼?

該過程計算多個字段的平均值,獲取其他字段的最大值和最小值,沒有明顯的CPU明智。

是更好地:

A)總結了詳細記錄入簡要記錄而記錄進來,延緩每一個細節記錄略微插入?我假設在彙總表中會有很多鎖定(選擇update等),因爲有幾個不同的系統導入數據。 B)等到小時結束,然後選擇以前的整個小時數據並創建摘要記錄?

B)用戶看到統計信息會有延遲,但詳細記錄在此期間可用。

也許有替代方法呢?

回答

1

只需爲view彙總表。你的所有插入將照常工作。只需根據您的需求作出總結即可。這將自動更新主表。

你也可以做24小時和1每日摘要基礎。視圖是存儲的查詢,當調用時產生結果集。視圖充當虛擬表格。

有關視圖的更多詳情,請參閱:http://dev.mysql.com/doc/refman/5.0/en/create-view.html

讓我知道,如果你想進一步有關援助mysql views.

+0

我只關心創建它的查詢會殺死服務器,否則,爲什麼我不會爲運行時報告創建相同的查詢而不是創建視圖?目前數據庫中有50億行。也許我錯過了一些東西(視圖的優點?) – MichaelICE 2012-01-08 14:31:16

+0

MYSQL支持物化視圖嗎? – MichaelICE 2012-01-08 21:48:05

+0

是的,你可以。看看這裏http://fromdual.com/mysql-materialized-views – 2012-01-09 01:03:12

0

它會依賴於運行單個更新所需的負載,但我可能會去用一個單獨的總結運行。我可能會投入一個小小的賭注,說一次更新所花費的時間會比累計每插入一次的想法短。

相關問題