2016-03-02 50 views
0

我正在開發一個分析工具,用於跟蹤用戶花費多少時間來執行操作。如何存儲日期範圍?

所以我用這個方法:

數據庫表: id_user(INT),行動(VARCHAR),式(INT),startstop(日期時間)

只能是0或1並指示動作是開始還是停止。


當用戶啓動的動作,然後一個新的行被插入通過AJAX請求的數據庫(例如:1,ACTION_1,1,12時22分54秒)

當用戶停止然後通過ajax請求在數據庫中插入新行(例如:1,action_1,0,13:31:11)

您認爲這是一種好方法嗎?還是有更簡單高效的方法如何做到這一點?

+5

爲什麼你沒有一個記錄,有一個字段'timeStart'和一個字段'timeStop'?當操作停止時,更新記錄。這樣,您不會對動作進行雙重錄製,只有一個record_id。這將減少一半的記錄數,並使用較少的內存(儘管不到一半)。 – Sablefoste

+1

我當然會考慮Sablefoste的建議;從現在起6個月/ 12個月/ 18個月我可能會感激有一個〜580MB的數據庫備份,而不是〜1GB的一個,例如... –

+0

太棒了,其他建議:)? – xRobot

回答

0

改爲將表格字段重寫爲id_user (int),action (varchar),time_start (datetime),time_stop (datetime)

使用停止操作的當前時間更新字段time_stop