我有以下的問題在數據庫中處理大數據:MySQL的海量數據操作處理
基本上所有從數字傳感器計量被存儲在數據庫中爲每個第二。 報告應該顯示的所有數據只是發生的變化,例如在時間X寄存器#1將值從0更改爲1.
我創建了一個過程,它只能返回數據i需要(更改),並且這爲php節省了很多處理空間,但最大的問題是,對於當前4天的數據,查詢需要6 * N秒來完成,其中N是所選寄存器的數量。
現在我想知道什麼是解決這一問題的最佳解決方案。
另一個想法是:把上的數據計量的每一個新插入的觸發器,但問題是,這將是更加複雜,因爲我將需要尋找到在其他時間提交,以前的計量。
所以我想創建視圖,將新的數據以某種方式到達自動更新。這意味着當對報告進行請求時,數據將準備好並從視圖中提取。
這是一個很好的解決方案嗎?
即時對不起,最後一個查詢需要什麼?我目前正致力於在表格中的每個插入之後進行狀態更改。這足以讓我在較短的時間內獲得每個寄存器的狀態更改 –
@GeorgeNikolaides:我認爲您的數據庫中充滿了您希望填充新錶的歷史數據?這就是第4步所做的一切(作爲一次性練習),然後觸發器接管所有後續/新數據。 – eggyal
實際上,數據庫每秒鐘都會被新的測量值(傳感器值 - 0和1)填滿,並且正如您所建議的,現在我試圖做的是在新表格中監視0和1的變化。這將增加報告和趨勢的檢索時間。 –