当前位置: 首页 > 知识库问答 >
问题:

动态数据库查询可获取超过 100 万的数据 - Java 中的示例

宰父子安
2023-03-14

我正在尝试运行一个查询并获取所有项目。似乎没有检索到所有项目,我需要使用start键再次运行查询。

从文件中

对于Query或Scan操作,如果操作没有返回表中所有匹配的项目,DynamoDB可能会返回LastEvalatedKey值。要获取匹配项的完整计数,请从上一个请求中获取LastEvalatedKey值,并在下一个请求中将其用作ExunisiveStartKey值。重复此操作,直到DynamoDB不再返回LastEvalatedKey值。

能否给出一个代码示例,如何包装这段代码,用lastEvaluatedKey再次运行查询?

        QuerySpec spec = new QuerySpec()
    .withKeyConditionExpression("userName = :userName and #a between :startRange and :endRange")
    .withValueMap(valueMap)
    .withScanIndexForward(false)
    .withNameMap(nameMap);
        
    ItemCollection<QueryOutcome> items = table.query(spec);

    Iterator<Item> iterator = items.iterator();
    while (iterator.hasNext()) { ....

共有1个答案

闽念
2023-03-14

看起来您使用的是DynamoDB文档API,而不是低级API。当您使用文档API进行查询时,所有低级别的考虑事项(如分页)都会考虑到,但是您可以选择与这些低级别的方面进行交互。

根据您提供的代码片段,当您到达每个页面的末尾时,文档API库将负责加载其他页面,因此您不需要做任何额外的工作,您的代码应该可以工作!这是使用文档API的真正好处,因为它为常见用例处理了大量冗余的锅炉板代码

 类似资料:
  • 我正在尝试运行查询并获取所有项目。似乎并不是所有的项目都被检索到,我需要使用start键再次运行查询。 从留档 对于查询或扫描操作,如果操作未返回表中的所有匹配项,DynamoDB可能会返回LastEvaluatedKey值。要获取匹配项的完整计数,请从上一个请求中获取LastEvaluatedKey值,并将其用作下一个请求中的ExclusiveStartKey值。重复此操作,直到DynamoDB

  • 本文向大家介绍ajax动态获取数据库中的数据方法,包括了ajax动态获取数据库中的数据方法的使用技巧和注意事项,需要的朋友参考一下 今天看到有人在问答上问怎样去动态取值附在option上,本来想解决的,但我发现。。。。没有,我本来也笨,记不住,所以还是写一下,让大家可以看一下: 首先我这用的框架是SSM,代码就开始了: 这是写在前台的方法里一个点击事件进入方法里我就不写那么麻烦了直接ajax部分代

  • 问题内容: 我的代码有问题。 像这样的情况: 我有一个下拉列表,如果选择“个人”,则会出现新的下拉列表,其中包含从数据库查询中检索到的数据;如果选择“公开”,则该下拉列表将消失。 这样的HTML代码: 查询如下: 像这样的JavaScript代码: 我不知道如何将值/结果发送到javascript代码(选择选项中的值和名称)。 问题答案: 在javascript中,您必须对您的php文件进行操作:

  • 问题内容: 是否有可能以某种方式获取MySQL数据库的结构,或者只是一些具有简单查询的表? 还是有另一种方法,我该怎么办? 问题答案: 我认为你所追求的是 您也可以使用 获取数据库中表的列表。

  • 我有三类,像故事,电影故事,照片 我想显示数据类别明智的数据从数据库 1.故事*data1*data2*data3 2.电影故事*data1*data2*data3 控制器: 型号: 查看: 数据库: 创建表home_page: 创建表(int(11)not NULLAUTO_INCREMENT,int(11)DEFAULT NULL,int(11)DEFAULT NULL,text,

  • 我需要在spring批处理作业的步骤中动态设置块大小,该步骤存储在数据库中,即需要从数据库中获取块大小并将其设置到bean中。 我的问题是: 从ID='some_id_param_value'的SOME_TABLE_NAME选择CHUNK_SIZE 在这里,的值将来自作业参数,该参数是通过与请求一起传递到 它无法从访问“chunk”键值,因此引发。是否需要以某种方式对其进行升级,以便可以在step