情况:我的学生表上有一百万条记录。
我想查询这个表中的数据。
条件:学生验证了,得分70多分,条件和算子很多。
我想要获得100条记录
在 1000 条记录的第一个请求限制中,我只得到了 5 或 10 名符合我条件的学生。 所以我必须使用 LastEvaluatedKey 循环并获得更多
limit(numberLimit)
,直到我获得 100 个根据我的查询条件有效的记录
我想知道我应该在下一个查询中查询多少个
numberLimit
。
最糟糕的情况是,我必须搜索所有大约有 8K 条记录的表,并且花费了超过 87.03 秒
选择适合您的数据的页面大小。例如,如果您需要 100 个项目,并且 95% 的数据符合条件,则将限制设置为 110。如果您仍然没有达到 100 个,请查看还缺少多少个项目,然后搜索更多的项目。
但正如您所见,过滤数据效率不高,很难知道可能有多少次往返。因此,最好创建一个将过滤条件作为键一部分的索引。这样您就可以通过一次便捷的请求获得 100 件物品。