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

时间:2013-01-10 07:43:51

标签: erlang mnesia

我想通过插入的订单从mnesia获取记录。

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

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

我想知道mnesia( qlc )的输出记录的订单是否符合插入订单的要求。如果是这样,上述问题就不存在了。

1 个答案:

答案 0 :(得分:2)

Mnesia默认在内部使用哈希表,因此没有您可以依赖的特定顺序。一般来说,如果没有系统之间的某种共识,这个问题就无法解决。说全球反击等等。

更好的方法是考虑是否真的需要严格要求。通常你不会也只想要一个较弱的排序,如“之前的肯定,但这大致是在同一时间,所以让我们在它们之间选择一些顺序。”