3

如何编写一个遍历表直到找到第一个匹配条目的 qlc 查询?例如,此查询返回表中符合条件的所有条目:

qlc:q([E#stuff.data || E <- mnesia:table(stuff), E#stuff.type == 123]).

如何修改此或 qlc:e 调用以停止并仅返回第一个匹配条目?这样做的动机是性能 - 我对所有条目都不感兴趣,只是想看看特定类型的条目的外观。

4

1 回答 1

3

您需要使用 qlccursorqlc:next_answers/2,看看qlc:cursor/1中的示例。它应该看起来像

QH=qlc:q([E#stuff.data || E <- mnesia:table(stuff), E#stuff.type == 123]).
QC = qlc:cursor(QH).
Result=qlc:next_answers(QC, 1). % Only return 1 answer
qlc:delete_cursor(QC).
于 2013-09-16T17:25:10.643 回答