【发布时间】:2013-01-10 07:43:51
【问题描述】:
我想按插入顺序从mnesia 获取记录。
首先,我想添加一个timestamp 列。但是对于不同计算机的一组节点发现,timestamp是由不同的计算机创建的。不能保证这些不同计算机的定时器是同步的。
那,我认为可以通过mnesia中的数据库事务来解决,以生成顺序值。但这可能太昂贵了。
我想知道mnesia(qlc)的输出记录的顺序是保证插入顺序的。如果是这样,上面的麻烦就不存在了。
【问题讨论】:
我想按插入顺序从mnesia 获取记录。
首先,我想添加一个timestamp 列。但是对于不同计算机的一组节点发现,timestamp是由不同的计算机创建的。不能保证这些不同计算机的定时器是同步的。
那,我认为可以通过mnesia中的数据库事务来解决,以生成顺序值。但这可能太昂贵了。
我想知道mnesia(qlc)的输出记录的顺序是保证插入顺序的。如果是这样,上面的麻烦就不存在了。
【问题讨论】:
默认情况下,Mnesia 在内部使用哈希表,因此没有可以依赖的特定顺序。一般来说,如果系统之间没有某种共识,这个问题是无法解决的。说一个全局计数器或类似的东西。
更好的方法是考虑是否真的需要严格订购所有东西。通常你不想要并且只想要一个较弱的顺序,如“这肯定之前发生过,但这大致在同一时间,所以让我们在它们之间选择一些顺序。”
【讨论】: