這裏是我的問題自由創建例如:如何存儲多少數據在數據庫中,自動刪除舊
每15秒一次我運行一個PHP腳本檢查的+5服務器的狀態。它得到了ping
,status
,version
和motd
。數據應該存儲兩個星期,在這段時間之後它可以被刪除。
目前,我將它保存這樣的:
Table 1:
server_ID | name | ip | last_update
Table 2:
ID | server_ID | status | ping | version | motd | timestamp
我想用這種方式,沒有加倍,我可以easyly重命名服務器或更改其IP地址。
但是,我應該如何使舊行的下降?每次腳本運行時(每15秒)是否這樣做太多了? 14*24*60*4 = 80640 rows per server for the two weeks
或者我該如何存儲數據,我能夠獲得最新的數據以及數據以顯示2周的折線圖?
也許是第三個表,它有小時數據。
編輯:
謝謝您的解答。這是怎麼回事:
在15秒的更新我把表1中的所有數據,但我更新它,所以它只有一個服務器每行。
然後,我每小時使用一次這個觸發器,並將當前數據複製到一個新表中並刪除超過2周的所有內容?
目前我已經將表1中的server_ID和表2中的ID設置爲主鍵,是否有充分的理由將時間戳設置爲主鍵?
謝謝你,你已經幫了我很多。我更新了我的問題,也許你可以給我評論這種方式。 – user2693017
@ user2693017根據編輯的問題提供了答案 – Vineet1982
嘿,我以爲我保存在一個表中,但是當php腳本運行時,它不會創建一個新條目,它只會更新行。然後,我每小時運行一個腳本,將第一個表中的行復制到另一個表中,並刪除第二個表中的舊信息。 根據主鍵,是不是更容易通過id而不是時間戳對數據庫進行排序?所以它只需要檢查已過時的第一個id,並刪除它和每個previeus。 – user2693017