如何存储日期范围?
问题描述:
我正在开发一个分析工具,用于跟踪用户花费多少时间来执行操作。如何存储日期范围?
所以我用这个方法:
数据库表: id_user(INT),行动(VARCHAR),式(INT),startstop(日期时间)
型只能是0或1并指示动作是开始还是停止。
当用户启动的动作,然后一个新的行被插入通过AJAX请求的数据库(例如:1,ACTION_1,1,12时22分54秒)
当用户停止然后通过ajax请求在数据库中插入新行(例如:1,action_1,0,13:31:11)
您认为这是一种好方法吗?还是有更简单高效的方法如何做到这一点?
答
改为将表格字段重写为id_user (int)
,action (varchar)
,time_start (datetime)
,time_stop (datetime)
。
使用停止操作的当前时间更新字段time_stop
。
为什么你没有一个记录,有一个字段'timeStart'和一个字段'timeStop'?当操作停止时,更新记录。这样,您不会对动作进行双重录制,只有一个record_id。这将减少一半的记录数,并使用较少的内存(尽管不到一半)。 – Sablefoste
我当然会考虑Sablefoste的建议;从现在起6个月/ 12个月/ 18个月我可能会感激有一个〜580MB的数据库备份,而不是〜1GB的一个,例如... –
太棒了,其他建议:)? – xRobot