select - Erlang Mnesia select on an ordered_set 是否给出了 Erlang Term 顺序的列表?
问题描述
在文档中,我不清楚我是否需要按照 next 或 foldl 的顺序进行迭代(提到 foldr 与ordered_set 的顺序相反,因此推测 foldl 的顺序相同)或者我是否可以使用 select 并依赖它被排序(假设 ordered_set 表)
解决方案
我可以使用
select
并依赖它被订购吗(假设 ordered_set 表)
对于ordered_set 类型的表,对象的访问顺序与第一次/下一次遍历相同。这意味着匹配规范是针对具有第一个/下一个顺序的键的对象执行的,并且相应的结果列表是按照该执行的顺序。
返回表 Tab 中的第一个键 Key。对于一个 ordered_set 表,返回 Erlang 术语 order 中的第一个键。
表遍历:
match
根据键的指定方式,使用和函数的遍历select
可能不需要扫描整个表。具有完全绑定键(没有任何匹配变量)的匹配模式会将操作优化为单个键查找,而根本不需要任何表遍历。对于ordered_set,部分绑定的键将限制遍历仅根据术语顺序扫描表的子集。
ordered_set
一个类型的表以随机顺序返回搜索结果对我来说毫无意义。
推荐阅读
- javascript - Vue.js 不在 html 上显示值
- javascript - 在分配之前检查多维数组的一部分是否为空
- python - 为什么使用流光按钮时不显示输出?
- c++-cli - C++/CLI 中的 ExpandoObject
- anchor - 如何用苗条粘在锚上?
- html - 如何找出站点密钥
- dataset - 如何在 TensorFlow 2 中为三元组挖掘创建和打乱数据集?
- amazon-web-services - 为什么 RDS 不使用 Amazon 根证书进行 SSL 连接
- asynchronous - 在异步函数参数中声明特征对象的关联类型
- java - 引起:org.hibernate.exception.SQLGrammarException:JDBC异常执行SQL