【问题标题】:Is it necessary to add a sequential column for insert order in mnesia?是否需要在 mnesia 中为插入顺序添加顺序列?
【发布时间】:2013-01-10 07:43:51
【问题描述】:

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

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

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

我想知道mnesia(qlc)的输出记录的顺序是保证插入顺序的。如果是这样,上面的麻烦就不存在了。

【问题讨论】:

标签: erlang mnesia


【解决方案1】:

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

更好的方法是考虑是否真的需要严格订购所有东西。通常你不想要并且只想要一个较弱的顺序,如“这肯定之前发生过,但这大致在同一时间,所以让我们在它们之间选择一些顺序。”

【讨论】:

    猜你喜欢
    • 2015-05-21
    • 2019-03-29
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 2011-09-18
    • 2010-10-14
    • 2020-04-30
    • 2011-02-08
    相关资源
    最近更新 更多