Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何存储日期范围?_Mysql - Fatal编程技术网

Mysql 如何存储日期范围?

Mysql 如何存储日期范围?,mysql,Mysql,我正在开发一个分析工具,跟踪用户花多少时间做一个动作 因此,我使用这种方法: 数据库表:id\u用户(int)、操作(varchar)、类型(int)、启动停止(datetime) 类型只能为0或1,并指示操作是启动还是停止 当用户启动操作时,通过ajax请求在数据库中插入一个新行(例如:1,action_1,1,12:22:54) 当用户停止操作时,通过ajax请求在数据库中插入一个新行(例如:1,action_1,0,13:31:11) 您认为这是一个好方法还是有更简单有效的方法来实现这一

我正在开发一个分析工具,跟踪用户花多少时间做一个动作

因此,我使用这种方法:

数据库表:id\u用户(int)、操作(varchar)、类型(int)、启动停止(datetime)

类型只能为0或1,并指示操作是启动还是停止


当用户启动操作时,通过ajax请求在数据库中插入一个新行(例如:1,action_1,1,12:22:54)

当用户停止操作时,通过ajax请求在数据库中插入一个新行(例如:1,action_1,0,13:31:11)


您认为这是一个好方法还是有更简单有效的方法来实现这一点?

将表字段重新写入
id\u user(int)
action(varchar)
time\u start(datetime)
time\u stop(datetime)


用操作停止的当前时间更新字段
time\u stop

为什么没有一条记录,其中有一个字段
timeStart
和一个字段
timeStop
?当操作停止时,更新记录。这样,你就不会重复记录动作,只有一个记录ID。这将把记录的数量减少一半,使用更少的内存(虽然不是一半),我当然会考虑Sablefoste的建议。6个月/12个月/18个月后,我可能会很感激拥有~580MB的数据库备份,而不是~1GB的数据库备份,例如……太好了,其他建议:)?