Mnesia:查询ordered_set表时,是否以保证顺序返回记录?

时间:2012-10-22 02:48:13

标签: erlang mnesia

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

1 个答案:

答案 0 :(得分:1)

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

mnesia主要围绕ets构建,文档将引导您访问ERTS用户指南并获取用户指南以了解实现细节。

来自select上的ets user's guide

  

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