Time 纳秒在数据库编程中的作用

Time 纳秒在数据库编程中的作用,time,Time,刚才看到这个问题, 询问原因是,3GHz处理器每纳秒最多可以执行9条指令(当然不足以将任何内容存储到mongodb中),而且内存速度要慢十倍。我不确定网络时间同步有多精确 想知道在任何(标准)编程语言/系统中,纳秒值的用途是什么并且通常使用。info ls提到了一个--time style=full iso选项,其描述如下: List timestamps in full using ISO 8601 date, time, and time zone format with nanosecon

刚才看到这个问题,

询问原因是,3GHz处理器每纳秒最多可以执行9条指令(当然不足以将任何内容存储到mongodb中),而且内存速度要慢十倍。我不确定网络时间同步有多精确


想知道在任何(标准)编程语言/系统中,纳秒值的用途是什么并且通常使用。

info ls
提到了一个
--time style=full iso
选项,其描述如下:

List timestamps in full using ISO 8601 date, time, and time
zone format with nanosecond precision, e.g., `2002-03-30
23:45:56.477817180 -0700'.  This style is equivalent to
`+%Y-%m-%d %H:%M:%S.%N %z'.

This is useful because the time output includes all the
information that is available from the operating system.  For
example, this can help explain `make''s behavior, since GNU
`make' uses the full timestamp to determine whether a file is
out of date.
(您的里程数可能会有所不同。)


编辑添加:还定义了UUID,给出了几种生成UUID的算法,包括一些“基于时间的”算法。这些都需要100ns的分辨率。由于提供“十分之一微秒”字段没有意义,因此需要一个“纳秒”字段,即使没有提供有意义的1ns分辨率


(我不得不指出,在您链接到的问题中,询问者实际上只在MongoDB中存储了最多毫秒的数据。这个问题询问“纳秒”只是因为它是存储亚秒分辨率的字段。)

因为使用纳秒可以让您;)制作独特的时间戳非常方便。有些人认为精度越高,就意味着精度越高,而且在某种程度上更好。纳秒精度在标准计算中是没有用的。对于许多常见的应用,甚至秒的精度也比需要的精度高。分辨率和精度是不同的概念。纳秒分辨率有它的用途;系统时钟的纳秒精度并非真正可以达到,但并非所有时间都来自系统时钟。有时微秒分辨率是不够的。重要的是纳秒分辨率通常保证为每个请求提供唯一的值,因此时钟值可以用作标识符或用于确定事件顺序。(尽管一些只有微秒精度的时钟也通过在末端附加额外的位来保证唯一性。)答案很好。我并不是真的关心“等待”-这个问题不是基于意见的,但这里是(正如你所展示的)纳秒的真正需要(并且你给出了一个合乎逻辑的解释)。非常感谢你。