【发布时间】:2016-02-25 13:30:48
【问题描述】:
我需要从 Mnesia 读取一些信息。如何使用限制来做到这一点?
【问题讨论】:
-
你的意思是阅读所有记录吗?
我需要从 Mnesia 读取一些信息。如何使用限制来做到这一点?
【问题讨论】:
ets(Erlang Term Storage)是ram_copies和disc_copies Mnesia表的存储引擎,提供了获取Limit参数的函数:
您可以将上述函数用于具有 ram_copies 和 disc_copies 表类型的 Mnesia 表。
-record(person, {name, age}).
select_persons_by_age(Age, Limit) ->
ets:match(person, #person{name = '_', age = Age}, Limit).
请注意,这种方式将扫描整个表以匹配所需的数据,直到指定的限制。这个官方document 可能对它的效率有用。
【讨论】: