【发布时间】:2015-12-21 05:33:31
【问题描述】:
我使用 DynamoDB 作为 android 平台的后端。我们能够创建表并对其执行查询。我看到在 android 端从表中获取数据需要时间。我想在这里分享有关表架构的更多详细信息。
我们有两个表 1) 视频 2) 分类。我们想根据给定的分类来获取视频列表。
- 视频表架构如下所示:
- 分类表:
我们有不同的分类。即每周节目、热门节目等。每个部分都包含来自视频表的视频 ID。
在 android 端集成了 AWS 移动 SDK。我可以共享查询代码 sn-p 需要时间来获取数据。
查询:根据分类获取视频列表。分类表包含video_id
List<VideosData> mVideosList = new ArrayList<>();
DynamoDBMapper dynamoDBMapper = new DynamoDBMapper(voids[0]);
DynamoDBQueryExpression<Classification> classificationQuery = new DynamoDBQueryExpression<>();
classificationQuery.withHashKeyValues(new Classification().setClassification_id(mType));
List<Classification> classifications = dynamoDBMapper.query(Classification.class, classificationQuery);
if (classifications != null && classifications.size() > 0) {
for (Classification rows : classifications) {
DynamoDBQueryExpression<VideosData> videosExpression = new DynamoDBQueryExpression<>();
videosExpression.withHashKeyValues(new VideosData().setVideoId(rows.getVideo_id()));
List<VideosData> tempDatas = dynamoDBMapper.query(VideosData.class, videosExpression);
mVideosList.addAll(tempDatas);
}
}
任何建议都会感谢优化。我是 DynamoDB AWS 的入门级,这可能是理解它的问题。
更新:表的读写容量单位是否需要设置以提高性能?
谢谢。 巴夫迪普
【问题讨论】:
标签: android amazon-web-services amazon amazon-dynamodb