我正在查看教程,他们似乎都在某种情况下查询。我怎样才能获得数据库中的所有项目?
答案 0 :(得分:4)
执行全表扫描的SCAN操作。您可以选择向扫描添加过滤器。
SCAN可能不如您想象的那么好。首先,它一次只扫描最多1MB的数据。如果您想要更多数据,可以拨打其他电话。此外,在过滤之前应用此1MB限制。也就是说每个SCAN都会根据您的条件查看1MB的数据并进行过滤,而不是在过滤时继续扫描,直到达到1MB的限制。
此外,SCAN可能会导致读取活动突然爆发。假如你的记录是1KB并且你每隔一秒扫描一次,那么SCAN最多可以返回1000条记录,这会消耗500个读取容量。执行扫描时,您可能希望将限制设置为小于默认值1MB。
最后,SCAN不保证结果的顺序。您无法通过'指定'订单,并且不应对其返回的订单进行任何假设。
DynamoDB用于存储键值数据。您应该按键查询值。如果您并不总是查询主键并获得唯一记录,则可以添加全局二级索引,使您能够按两列进行查询并按其中一列排序。
请参阅AWS文档:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html