我将{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参数,但我没有之前选择的状态。我只有一个页码。
可能,我必须使用其他数据结构。请推荐更好的解决方案。