Erlang 是否有必要在mnesia中为插入顺序添加连续列?

Erlang 是否有必要在mnesia中为插入顺序添加连续列?,erlang,mnesia,Erlang,Mnesia,我想按插入顺序从mnesia获取记录 首先,我想添加一个timestamp列。但是发现对于不同计算机的一组节点,时间戳是由不同的计算机创建的。不能保证这些不同计算机的计时器是同步的 我认为可以通过mnesia中的数据库事务生成顺序值来解决这个问题。但这可能太昂贵了 我想知道mnesia(qlc)的输出记录的顺序是否保证用于插入顺序。如果是这样,上述问题就不存在了。Mnesia默认在内部使用哈希表,因此没有具体的顺序可以依赖。一般来说,如果系统之间没有某种共识,这个问题是无法解决的。比如说全球计数

我想按插入顺序从
mnesia
获取记录

首先,我想添加一个
timestamp
列。但是发现对于不同计算机的一组节点,
时间戳是由不同的计算机创建的。不能保证这些不同计算机的计时器是同步的

我认为可以通过
mnesia
中的数据库事务生成顺序值来解决这个问题。但这可能太昂贵了


我想知道
mnesia(
qlc
的输出记录的顺序是否保证用于插入顺序。如果是这样,上述问题就不存在了。

Mnesia默认在内部使用哈希表,因此没有具体的顺序可以依赖。一般来说,如果系统之间没有某种共识,这个问题是无法解决的。比如说全球计数器之类的东西

一个更好的方法是思考你是否真的需要严格地订购所有东西。通常情况下,您不需要,也只需要一个较弱的顺序,如“这肯定是以前发生过的,但这几乎是同时发生的,所以让我们在它们之间选择一些顺序。”

看看这个: