2016-03-02 51 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