【发布时间】:2021-05-28 22:13:30
【问题描述】:
在文档中,我不清楚是否需要按 next 或 foldl 的顺序进行迭代(提到 foldr 与ordered_set 的顺序相反,因此推测 foldl 的顺序相同)或如果我可以使用 select 并依赖它被订购(假设 ordered_set 表)
【问题讨论】:
标签: select erlang mnesia ordered-set
在文档中,我不清楚是否需要按 next 或 foldl 的顺序进行迭代(提到 foldr 与ordered_set 的顺序相反,因此推测 foldl 的顺序相同)或如果我可以使用 select 并依赖它被订购(假设 ordered_set 表)
【问题讨论】:
标签: select erlang mnesia ordered-set
我可以使用
select并依赖它被订购(假设ordered_set 表)
对于ordered_set 类型的表,按照与第一次/下一次遍历相同的顺序访问对象。这意味着比赛 规范是针对具有第一个/下一个键的对象执行的 order 和 对应的结果列表是按照那个顺序的 执行。
返回表 Tab 中的第一个键 Key。对于ordered_set 表, 返回 Erlang 术语顺序中的第一个键。
使用
match和select函数的遍历可能不需要扫描 整个表取决于如何指定键。一场比赛 具有完全绑定键(没有任何匹配变量)的模式将 将操作优化为没有任何表的单键查找 遍历。对于 ordered_set 部分绑定的键将限制 遍历以仅根据术语顺序扫描表的子集。
ordered_set 类型的表以随机顺序返回搜索结果对我来说毫无意义。
【讨论】: