Does using Projection Expressinos in querying DynamoDB reduce the read capacity unit comsumption?

amazon-dynamodb, amazon-web-services, database, nosql

Solution

- By using a `ProjectionExpression`, you decrease the amount of data transferred between DynamoDB and your application, thereby limiting network bandwidth.

- It doesn't. I tried, but couldn't find official documentation on this. But if you look at this on `Query`, it says that a filter, from a `FilterExpression`, "is applied after the query is processed, but before the results are returned to the user". I would assume the same behavior for `ProjectionExpression`s.

- Similar to #2 above, you'd be charged for reading the entire item, not just the attributes you requested. Another proof of this is this documentation on how they calculate read/write units. They never mention attributes separately.

Problem

Have been going through the DynamoDB documentation, but couldn't verify the following. - What is the main purpose of ProjectionExpression in DynamoDB? - Does it reduce the read capacity unit consumption? - If not - Dynamodb charges the same amount irrespective of if you read the entire item or just a few attributes? Any help is appreciated! Thanks!

Original source