Bird
Raised Fist0
DynamoDBquery~5 mins

Index projection types (ALL, KEYS_ONLY, INCLUDE) in DynamoDB - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
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
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
Which projection type allows you to specify extra non-key attributes to include in the index?
AALL
BINCLUDE
CNONE
DKEYS_ONLY
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
Which projection type would you choose to optimize index size but still include some needed attributes?
AINCLUDE
BALL
CKEYS_ONLY
DFULL
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

      1. Step 1: Understand projection types

        ALL copies every attribute from the base table to the index.
      2. Step 2: Compare with other types

        KEYS_ONLY copies only keys; INCLUDE copies keys plus selected attributes.
      3. Final Answer:

        ALL -> Option A
      4. 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

      1. Step 1: Recall correct syntax for KEYS_ONLY

        The projection type must be exactly "KEYS_ONLY" in quotes.
      2. Step 2: Eliminate incorrect options

        ALL and INCLUDE are valid but not KEYS_ONLY; "KEYS" is invalid syntax.
      3. Final Answer:

        "ProjectionType": "KEYS_ONLY" -> Option B
      4. 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

      1. Step 1: Identify keys and included attributes

        Index always includes keys; INCLUDE adds specified non-key attributes.
      2. Step 2: Determine which attributes are keys

        Assuming id is the partition key, name is not a key.
      3. Step 3: Combine keys and included attributes

        Index has id (key), plus age and city (included).
      4. Final Answer:

        id, age, and city -> Option A
      5. 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

      1. Step 1: Understand INCLUDE projection requirements

        INCLUDE requires specifying at least one non-key attribute.
      2. Step 2: Check behavior when no attributes specified

        Omitting non-key attributes causes a validation error during index creation.
      3. Final Answer:

        The index creation will fail with a validation error. -> Option D
      4. 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

      1. Step 1: Understand storage cost vs attribute needs

        ALL copies all attributes but costs more storage; KEYS_ONLY copies only keys.
      2. Step 2: Identify needed attributes for queries

        You need email as key and phone, address for quick retrieval.
      3. Step 3: Choose INCLUDE projection with needed attributes

        INCLUDE lets you copy keys plus only phone and address, saving storage.
      4. Final Answer:

        INCLUDE with phone and address -> Option C
      5. 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 unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard