0
我有一個MySQL表,它存儲來自不同設備的實時數據。數據每20秒記錄一次。 表看起來是這樣的:修剪mysql表 - 平均記錄
report_dt device value1 value2
2015-10-16 10:32:15 solar 34.4 67.8
2015-10-16 10:32:15 grid 56.9 23.5
2015-10-16 10:32:35 solar 45.6 34.3
查詢來獲得每臺設備所記錄的數值是相當佔用CPU。我有(report_dt,device)作爲主鍵。此外,幾天之後,我不再需要20秒的數據,而只需要10分鐘的平均時間。
所以,要麼在同一個表設置或每個設備的表將是令人滿意的,與此內容:
report_dt device value1
2015-10-16 10:00:00 solar avg(value1 over 10 mins)
2015-10-16 10:10:10 grid avg(value1 over 10 mins)
2015-10-16 10:20:20 solar avg(value1 over 10 mins)
的想法是,一旦執行清理行動,每24小時。
原因是包含平均值的數據必須快速檢索。而且因爲20秒間隔內的數據波動很大,所以我必須使用平均值或難以評估數據。
我可以在應用程序中執行此操作。每隔10分鐘檢索10分鐘的平均值,並將其寫回到不同的表格或不同的表格中,每個設備一個表格。
但是對於數據庫函數來說也可能有些事情嗎?