Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
Php MySQL中存储微时差的最佳数据类型_Php_Mysql_Timestamp_Datediff - Fatal编程技术网

Php MySQL中存储微时差的最佳数据类型

Php MySQL中存储微时差的最佳数据类型,php,mysql,timestamp,datediff,Php,Mysql,Timestamp,Datediff,我将记录处理REST请求所需的时间,我还不确定哪种数据类型最适合该列。时间差是毫秒级的,我不希望它小于1ms,但可能是几秒钟,我希望它不会更高 非常类似于,但具有更高的精度 我相信我有两个选择:时间戳或整数。时间戳有微秒精度,整数可以有我需要的任何实际精度,只需将时间差乘以Y*1000即可 时间差将通过以下公式以PHP计算: $start = microtime(true); // do something $runtime = microtime(true) - $start; 哪种数据类型

我将记录处理REST请求所需的时间,我还不确定哪种数据类型最适合该列。时间差是毫秒级的,我不希望它小于1ms,但可能是几秒钟,我希望它不会更高

非常类似于,但具有更高的精度

我相信我有两个选择:时间戳或整数。时间戳有微秒精度,整数可以有我需要的任何实际精度,只需将时间差乘以Y*1000即可

时间差将通过以下公式以PHP计算:

$start = microtime(true);
// do something
$runtime = microtime(true) - $start;
哪种数据类型最适合在MySQL中以毫秒级存储时间差


在这种情况下,时间戳和整数的优缺点是什么?

时间戳用于存储时间中的某个时刻,而不是时间的持续时间。时间戳不存储毫秒,时间也不存储毫秒。使用整数字段


我还发现了一个类似的问题:。

时间戳用于存储时间中的某个时刻,而不是时间的持续时间。时间戳不存储毫秒,时间也不存储毫秒。使用整数字段


我还发现了一个类似的问题:。

时间戳不会削减它

时间戳列的显示格式与日期时间相同 柱。换句话说,显示宽度固定为19个字符, 格式为“YYYY-MM-DD HH:MM:SS”

即使你们在时间上做了几行来捕捉时刻,做两个差值的增量,最好的精度也只有几秒钟


我会用整数来做。通过这种方式,您可以在毫秒上执行乘法器。例如,.1毫秒可以存储为整数列中的1。因为整数只能存储在整数列中,所以通过使用硬乘法器规则,可以向后确定毫秒数

时间戳不会将其删除

时间戳列的显示格式与日期时间相同 柱。换句话说,显示宽度固定为19个字符, 格式为“YYYY-MM-DD HH:MM:SS”

即使你们在时间上做了几行来捕捉时刻,做两个差值的增量,最好的精度也只有几秒钟


我会用整数来做。通过这种方式,您可以在毫秒上执行乘法器。例如,.1毫秒可以存储为整数列中的1。因为整数只能存储在整数列中,所以通过使用硬乘法器规则,可以向后确定毫秒数

由于这是用于分析,我建议使用bigint,以防请求挂起太多-非常感谢。我完全没有注意到它实际上不会存储毫秒。因为microtimetrue返回浮点/双精度,所以整型字段不会错过一些精度吗?因为这是用于分析的,我建议使用bigint,以防请求挂起太多-非常感谢。我完全没有注意到它实际上不会存储毫秒。因为microtimetrue返回浮点/双精度,所以整数字段不会丢失一些精度吗?谢谢。我完全忽略了它实际上不会存储毫秒。谢谢。我完全忽略了它实际上不会存储毫秒。