【发布时间】:2012-10-11 20:21:59
【问题描述】:
当表是*ordered_set* 时,选择和读取(连同它们的dirty_ 表亲)会按照主键的排序顺序返回记录吗?换句话说,如果我的选择匹配多个记录,是否可以保证返回记录的顺序?同样,如果使用 index_read 并拉回多条记录,它们是否以任何特定方式相对于主键进行排序
【问题讨论】:
当表是*ordered_set* 时,选择和读取(连同它们的dirty_ 表亲)会按照主键的排序顺序返回记录吗?换句话说,如果我的选择匹配多个记录,是否可以保证返回记录的顺序?同样,如果使用 index_read 并拉回多条记录,它们是否以任何特定方式相对于主键进行排序
【问题讨论】:
简短的回答:是的。如果您使用ordered_set并匹配多个对象,则返回时将对其进行排序。
mnesia 主要围绕 ets 构建,文档将引导您查看 ERTS 用户指南和 ets 用户指南以了解实施细节。
来自ets user's guideselect:
在ordered_set 类型的表上,对象的访问顺序与第一次/下一次遍历的顺序相同。这意味着匹配规范将针对具有第一个/下一个顺序的键的对象执行,并且相应的结果列表将按照该执行顺序。
【讨论】: