3

当表是*ordered_set* 时,选择和读取(连同它们的dirty_ 表亲)会以主键的排序顺序返回记录吗?换句话说,如果我的选择匹配多个记录,是否可以保证返回记录的顺序?类似地,如果使用 index_read 并拉回多个记录,它们是否以任何特定方式相对于主键进行排序

4

1 回答 1

1

简短的回答:是的。如果您使用ordered_set 并匹配多个对象,则它们将在返回时排序。

mnesia 主要围绕 ets 构建,文档将引导您查看 ERTS 用户指南和 ets 用户指南以了解实现细节。

来自ets 用户select指南:

在ordered_set 类型的表上,对象的访问顺序与第一次/下一次遍历的顺序相同。这意味着匹配规范将针对具有第一个/下一个顺序的键的对象执行,并且相应的结果列表将按照该执行的顺序。

于 2013-01-08T21:31:21.273 回答