当表是* ordered_set *时,选择和读取(以及它们的dirty_ cousins)会按主键的排序顺序返回记录吗?换句话说,如果我的选择匹配多个记录,那么对于返回的记录的顺序是否有任何保证?类似地,如果使用index_read并返回多个记录,它们是否以与主键相关的任何特定方式排序
答案 0 :(得分:1)
简短回答:是的。如果您使用的是ordered_set并匹配多个对象,则会在返回时对它们进行排序。
mnesia主要围绕ets构建,文档将引导您访问ERTS用户指南并获取用户指南以了解实现细节。
来自select
上的ets user's guide:
在ordered_set类型的表上,以与第一次/下一次遍历相同的顺序访问对象。这意味着匹配规范将针对具有第一个/下一个顺序中的键的对象执行,相应的结果列表将按执行顺序执行。