1

我将{Key, Value}数据保存在 ETSordered_set中,其中Key是日期时间。在给定时间内选择所有项目非常容易 internal [From, To]

像这样的东西:

ets:select(Tab, [{{'$1', '$2'}, [{'>=', '$1', From}, {'=<', '$1', To}], ['$2']}])

我们Limit在函数中有参数,select()因此我们能够限制要选择的项目数量。但是如何指定偏移量?

作为输入,我的模块接收时间间隔和页码。我的目标是返回指定时间间隔和页面的项目。页面大小 ( Limit) 是一个常数。我可以计算一个偏移量

Offset = Limit * PageNumber - Limit

问题是我如何才能有效地只为给定页面选择项目?

我知道该select()函数可以接收Continuation参数,但我没有之前选择的状态。我只有一个页码。

可能,我必须使用其他数据结构。请推荐更好的解决方案。

4

1 回答 1

0

即使您的第一个选择也无效,因为 ets 匹配不够智能。按照这个讨论

于 2011-11-04T08:37:39.033 回答