3

最初に一致するエントリが見つかるまでテーブルをトラバースする qlc クエリを作成するにはどうすればよいですか? たとえば、次のクエリは、条件に一致するテーブル内のすべてのエントリを返します。

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

これまたは qlc:e 呼び出しを変更して、最初に一致したエントリのみを停止して返すにはどうすればよいですか? これの動機はパフォーマンスです。すべてのエントリに関心があるわけではありません。特定のタイプのエントリがどのように見えるかを見てみたいだけです。

4

1 に答える 1

3

qlccursorとを使用する必要があります。 qlc:cursor/1qlc:next_answers/2の例を見てください。次のように見えるはずです

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 に答える