What does the ALL projection type mean in DynamoDB indexes?
The ALL projection type means that all attributes from the source table are copied into the index. This allows queries on the index to access any attribute without fetching from the main table.
Click to reveal answer
beginner
What attributes are included when using the KEYS_ONLY projection type?
The KEYS_ONLY projection type includes only the primary key attributes of the main table and the index keys. No other attributes are copied into the index.
Click to reveal answer
intermediate
Explain the INCLUDE projection type in DynamoDB indexes.
The INCLUDE projection type copies the primary key attributes plus any additional specified non-key attributes into the index. This lets you include only the attributes you need for your queries.
Click to reveal answer
intermediate
Why might you choose KEYS_ONLY projection over ALL?
Choosing KEYS_ONLY reduces storage and write costs because fewer attributes are copied into the index. It is useful when queries only need keys to fetch full items later.
Click to reveal answer
intermediate
How does the INCLUDE projection type help optimize query performance?
By including only specific non-key attributes, INCLUDE projection reduces index size and cost compared to ALL, while still allowing queries to get needed data directly from the index without extra fetches.
Click to reveal answer
Which projection type copies all attributes from the main table into the index?
AALL
BKEYS_ONLY
CINCLUDE
DNONE
✗ Incorrect
The ALL projection type copies every attribute from the main table into the index.
If you want an index to include only the primary key attributes and no others, which projection type should you use?
AALL
BINCLUDE
CKEYS_ONLY
DPARTIAL
✗ Incorrect
KEYS_ONLY projection includes only the primary key attributes of the table and index.
Which projection type allows you to specify extra non-key attributes to include in the index?
AALL
BINCLUDE
CNONE
DKEYS_ONLY
✗ Incorrect
INCLUDE projection lets you add specific non-key attributes to the index.
What is a main benefit of using KEYS_ONLY projection?
AAutomatically indexes all attributes
BIncludes all attributes
CFaster writes than ALL
DLower storage and write costs
✗ Incorrect
KEYS_ONLY reduces storage and write costs by copying fewer attributes.
Which projection type would you choose to optimize index size but still include some needed attributes?
AINCLUDE
BALL
CKEYS_ONLY
DFULL
✗ Incorrect
INCLUDE projection balances size and attribute availability by including only selected attributes.
Describe the differences between ALL, KEYS_ONLY, and INCLUDE projection types in DynamoDB indexes.
Think about how much data each projection type copies into the index.
You got /3 concepts.
Explain when you might choose each projection type for a DynamoDB index.
Consider query needs and cost trade-offs.
You got /3 concepts.
Practice
(1/5)
1. Which DynamoDB index projection type copies all attributes from the base table to the index?
easy
A. ALL
B. KEYS_ONLY
C. INCLUDE
D. PARTIAL
Solution
Step 1: Understand projection types
ALL copies every attribute from the base table to the index.
Step 2: Compare with other types
KEYS_ONLY copies only keys; INCLUDE copies keys plus selected attributes.
Final Answer:
ALL -> Option A
Quick Check:
ALL = copies all attributes [OK]
Hint: ALL means every attribute is copied to the index [OK]
Common Mistakes:
Confusing INCLUDE with ALL
Thinking KEYS_ONLY copies all attributes
Assuming PARTIAL is a valid projection type
2. Which of the following is the correct way to specify a KEYS_ONLY projection in a DynamoDB index definition?
easy
A. "ProjectionType": "ALL"
B. "ProjectionType": "KEYS_ONLY"
C. "ProjectionType": "INCLUDE"
D. "ProjectionType": "KEYS"
Solution
Step 1: Recall correct syntax for KEYS_ONLY
The projection type must be exactly "KEYS_ONLY" in quotes.
Step 2: Eliminate incorrect options
ALL and INCLUDE are valid but not KEYS_ONLY; "KEYS" is invalid syntax.
Final Answer:
"ProjectionType": "KEYS_ONLY" -> Option B
Quick Check:
KEYS_ONLY syntax = "KEYS_ONLY" [OK]
Hint: Use exact string "KEYS_ONLY" for keys-only projection [OK]
Common Mistakes:
Using "KEYS" instead of "KEYS_ONLY"
Confusing INCLUDE with KEYS_ONLY syntax
Omitting quotes around projection type
3. Given a DynamoDB table with attributes id, name, age, and city, and a Global Secondary Index (GSI) with projection type INCLUDE and non-key attributes age and city, which attributes will be available in the index?
medium
A. id, age, and city
B. id, name, age, and city
C. Only age and city
D. Only id and name
Solution
Step 1: Identify keys and included attributes
Index always includes keys; INCLUDE adds specified non-key attributes.
Step 2: Determine which attributes are keys
Assuming id is the partition key, name is not a key.
Step 3: Combine keys and included attributes
Index has id (key), plus age and city (included).
Final Answer:
id, age, and city -> Option A
Quick Check:
INCLUDE = keys + chosen attributes [OK]
Hint: INCLUDE = keys plus only specified extra attributes [OK]
Common Mistakes:
Including non-key attributes not specified in INCLUDE
Assuming all attributes are included
Confusing keys with non-key attributes
4. You defined a DynamoDB index with projection type INCLUDE but forgot to specify any non-key attributes. What will happen when you try to create this index?
medium
A. The index will include keys plus all attributes by default.
B. The index will include only the keys, ignoring INCLUDE.
C. The index will include all attributes from the base table.
D. The index creation will fail with a validation error.
Solution
Step 1: Understand INCLUDE projection requirements
INCLUDE requires specifying at least one non-key attribute.
Step 2: Check behavior when no attributes specified
Omitting non-key attributes causes a validation error during index creation.
Final Answer:
The index creation will fail with a validation error. -> Option D
Quick Check:
INCLUDE needs attributes; missing causes error [OK]
Hint: INCLUDE must list attributes; empty list causes error [OK]
Common Mistakes:
Assuming INCLUDE defaults to ALL attributes
Thinking index silently defaults to KEYS_ONLY
Ignoring validation errors on index creation
5. You want to optimize a DynamoDB Global Secondary Index (GSI) to reduce storage costs but still need to query by email and retrieve phone and address attributes quickly. Which projection type should you choose?
hard
A. ALL
B. KEYS_ONLY
C. INCLUDE with phone and address
D. INCLUDE with email only
Solution
Step 1: Understand storage cost vs attribute needs
ALL copies all attributes but costs more storage; KEYS_ONLY copies only keys.
Step 2: Identify needed attributes for queries
You need email as key and phone, address for quick retrieval.
Step 3: Choose INCLUDE projection with needed attributes
INCLUDE lets you copy keys plus only phone and address, saving storage.
Final Answer:
INCLUDE with phone and address -> Option C
Quick Check:
INCLUDE = keys + needed attributes saves cost [OK]
Hint: Use INCLUDE to add only needed attributes, saving space [OK]
Common Mistakes:
Choosing ALL and increasing storage unnecessarily
Using KEYS_ONLY and missing needed attributes
Including only email but not phone or address
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.