DBS-C01 Workload-Specific Database Design Practice Question
A company runs an OLTP application on Amazon RDS for PostgreSQL. The database stores customer orders. The application frequently queries orders by customer_id and order_date. The orders table has 100 million rows. The query performance has degraded over time. The database has a single index on customer_id. The company needs to improve query performance without changing the application code. Which design change should be made?
⚠ Common exam trap
Test-takers frequently choose partitioning (Option A) because they think it automatically speeds up queries, but without changing the query to leverage partition pruning, partitioning alone does not improve index-based lookups; the correct solution is to add a covering composite index that matches the query filter order.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Create a composite index on (customer_id, order_date).
The query performance has degraded because the existing single-column index on customer_id can filter by customer but still requires a full sort or scan within that customer's rows to satisfy the order_date condition. Creating a composite index on (customer_id, order_date) allows the database to use a single index seek to locate the exact rows matching both columns, eliminating the need for an additional sort or filter pass. This directly addresses the query pattern without any application code changes.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Partition the table by order_date using PostgreSQL declarative partitioning.
Why it's wrong here
Partitioning can help with data management but may not improve query performance without proper indexing.
- ✗
Upgrade to a larger RDS instance type.
Why it's wrong here
Hardware upgrade may improve performance but does not optimize the query plan.
- ✗
Enable RDS Performance Insights to identify bottlenecks.
Why it's wrong here
This is a monitoring tool, not a design change to improve performance.
- ✓
Create a composite index on (customer_id, order_date).
Why this is correct
A composite index supports queries filtering by both columns efficiently.
Go deeper
Related to this question
About these practice questions
Courseiva writes every DBS-C01 question from scratch — 1,663 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DBS-C01 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DBS-C01 exam.