Courseiva
Workload-Specific Database DesignhardMultiple ChoiceObjective-mapped

DBS-C01 Workload-Specific Database Design Practice Question

A company runs an e-commerce platform on Amazon RDS for MySQL with a Multi-AZ deployment. The database has a table 'orders' with 50 million rows. During Black Friday sales, the application experiences severe slowdowns. Analysis shows that the CPU utilization is at 90% and there are many slow queries that perform full table scans on the 'orders' table. The development team has already added indexes on the most queried columns, but the problem persists. The database specialist suspects that the issue is not solely due to missing indexes. They notice that the queries often filter on a combination of 'order_date', 'customer_id', and 'status', and that the data distribution is heavily skewed: 80% of orders are 'completed' status. The 'order_date' range is typically the last 30 days. What should the database specialist do to improve query performance?

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

Partition the 'orders' table by 'status' and 'order_date' and create covering indexes on common query patterns.

Partitioning the 'orders' table by 'status' and 'order_date' can significantly reduce the amount of data scanned, as queries often filter on these columns. With 80% of orders being 'completed', partitioning by status allows queries for non-completed statuses to skip most rows, and range partitioning by order_date (e.g., monthly) further limits scans to relevant time periods. Adding covering indexes on common query patterns (e.g., (status, order_date, customer_id)) can make these partition scans index-only. Option B (read replicas) offloads read traffic but does not fix the slow queries themselves—they would still perform full scans on the replicas. Option C (caching) helps with repeated queries but not with ad-hoc analytical scans that still hit the database. Option D (vertical scaling) provides temporary relief but does not address the root cause of unnecessary full table scans.

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 'orders' table by 'status' and 'order_date' and create covering indexes on common query patterns.

    Why this is correct

    Partitioning reduces the data scanned, and covering indexes speed up queries without accessing the table.

  • Create multiple read replicas and distribute read traffic.

    Why it's wrong here

    Read replicas offload read traffic but each replica still executes the same slow queries.

  • Implement an in-memory caching layer using Amazon ElastiCache for frequently accessed data.

    Why it's wrong here

    Caching helps with repeated queries but not with the broad range of queries filtering on different date ranges.

  • Upgrade the RDS instance to a larger instance class with more vCPUs and memory.

    Why it's wrong here

    Scaling up provides temporary relief but does not fix the full table scan issue.

About these practice questions

One of 1,663 original DBS-C01 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

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.