Erlang ets匹配\u对象与匹配规范 -记录(规则,{id,low,high})。 测试工具()-> ets:新(规则表,[命名表,公共,bag]), ets:insert(规则表,#规则{id=1,低=2,高=5}), ets:match_对象(规则_表,[{'$1',[{'>=',{element,#rule.low,'$1'},2}, {'=
我错了,用ets:select代替Erlang ets匹配\u对象与匹配规范 -记录(规则,{id,low,high})。 测试工具()-> ets:新(规则表,[命名表,公共,bag]), ets:insert(规则表,#规则{id=1,低=2,高=5}), ets:match_对象(规则_表,[{'$1',[{'>=',{element,#rule.low,'$1'},2}, {'=,erlang,ets,Erlang,Ets,我错了,用ets:select代替 但是使用matchSpec的性能如何?是否都是表扫描?是的,将扫描整个表以查找匹配的数据。有关更多信息,请参阅。 -record(rule, {id, low, high}). test_ets() -> ets:new(rule_table,[named_table,public,bag]), ets:insert(rule_table, #rule{id=1, low=2, high=5}), ets:match_ob
但是使用matchSpec的性能如何?是否都是表扫描?是的,将扫描整个表以查找匹配的数据。有关更多信息,请参阅。
-record(rule, {id, low, high}).
test_ets() ->
ets:new(rule_table,[named_table,public,bag]),
ets:insert(rule_table, #rule{id=1, low=2, high=5}),
ets:match_object(rule_table, [{'$1',[{'>=', {element, #rule.low, '$1'}, 2},
{'=<', {element, #rule.high, '$1'}, 5}
], ['$_']}]).