我有几个dynamodb表,表A,表B,表C和表d。
我想从表A中获取项A,从表B中获取项B,从表C中获取项C,从表D中获取项D。
目前,我对4个表进行了4次dynamodb getItem调用,以顺序获取项目。每次调用花费约12毫秒,总计约50毫秒。
ItemA a = tableA.getItem("A");
ItemB b = tableB.getItem("B");
ItemC c = tableC.getItem("C");
ItemD d = tableD.getItem("D");
有没有更好的方法来减少延迟?我不知道怎样才能使它平行。
如果请求,如您的示例中那样,彼此不依赖-换句话说,您不需要知道发送第二个请求的第一个请求的结果,您不需要依次执行它们(一个接一个)-您可以并行启动所有四个请求。
如何并行启动四个请求取决于您正在使用的特定编程,但您有一个更简单的选择:仅发送一个BatchGetItem
请求-其中包含四个请求。DynamoDB将为您并行处理所有这些请求。