[erlang-questions] Fetching several ets keys

Hynek Vychodil hynek@REDACTED
Thu Feb 9 12:00:21 CET 2012


This code will cause table full scan which usually will be far slower than just
[ V || K <- ["A","B","C","D"], V <- ets:lookup(Tid, K) ]
except very small tables full scan will not be good idea.

On Thu, Feb 9, 2012 at 11:49 AM, Ahmed Omar <spawn.think@REDACTED> wrote:
> ets:select(Tid, [{{'$1','$2'},[{'==','$1',X}],['$_']}|| X<-
> ["A","B","C","D"]]).
>
>
> On Thu, Feb 9, 2012 at 11:11 AM, dmitry kolesnikov <dmkolesnikov@REDACTED>
> wrote:
>>
>> You could try
>> ets:select or qlc interface.
>>
>> It table is not big enough then qlc and custom fold function would work:
>>
>> Q=qlc:q([ X || X <- ets:table(mytab)]),
>> qlc:fold(FoldFun, [], Q)
>>
>> Best Regards,
>> Dmitry >-|-|-*>
>>
>>
>> On 9.2.2012, at 11.40, ori brost <oribrost@REDACTED> wrote:
>>
>> > Is there any way in ets to fetch values for several keys in 1 call?
>> > i.e. something like
>> >
>> > ets:multi_fetch(Tid, ["A","B","C","D"]) % will fetch all entries with
>> > keys A, B, C, D
>> > _______________________________________________
>> > erlang-questions mailing list
>> > erlang-questions@REDACTED
>> > http://erlang.org/mailman/listinfo/erlang-questions
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>



-- 
Hynek Vychodil
BI consultant

GoodData
náměstí 28. října 1104/17, 602 00, Brno - Černá Pole
Office:   +420 530 50 7704
E-mail:  hynek@REDACTED
Web:     www.gooddata.com



More information about the erlang-questions mailing list