Courseiva

DP-300 Practice Question: Monitor, configure, and optimize database resources

You are a database administrator for a large e-commerce platform using Azure SQL Database. You notice that a specific query frequently causes high CPU usage during peak hours. The query is a SELECT with multiple JOINs and a WHERE clause on a non-clustered index. You have already updated statistics and rebuilt indexes. What should you do next to optimize performance?

⚠ Common exam trap

DP-300 often tests the sequence of tuning actions — candidates jump to adding indexes or read replicas, but the exam expects you to recognize that after statistics/index maintenance, plan-level remediation via Query Store is the correct next step for a specific high-CPU query.

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

✓

Use Query Store to identify and force a better execution plan.

When statistics are updated and indexes rebuilt but a specific query still causes high CPU, the next step is to use Query Store to identify a better execution plan and force it. Query Store captures plan history and runtime stats, so you can pinpoint a previously good plan (e.g., before a plan regression) and force it, immediately stabilizing performance without schema 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.

  • ✓

    Use Query Store to identify and force a better execution plan.

    Why this is correct

    Query Store captures execution plans and runtime statistics, letting you identify the regressed plan causing high CPU and force a superior one via a plan guide. This directly addresses the stem's constraint: statistics and indexes are already refreshed, so the remaining lever is plan choice, not stale metadata.

  • ✗

    Enable automatic tuning to let Azure SQL Database handle the issue.

    Why it's wrong here

    Automatic tuning applies plan forcing and index creation based on regression detection, not query rewriting; it cannot restructure the JOIN order or predicate logic causing the CPU spike. It suits workloads where regressed plans recur, not a single inherently expensive query needing manual tuning.

  • ✗

    Add more indexes on the columns used in JOINs and WHERE clause.

    Why it's wrong here

    Adding indexes on JOIN and WHERE columns risks further write overhead and the optimiser may ignore them; the existing non-clustered index plus rebuilt statistics already cover access paths, so the residual cost lies in the query plan itself. Extra indexes suit missing-index scenarios, not an already-indexed query.

  • ✗

    Create a read replica and offload the query to it.

    Why it's wrong here

    A read replica offloads read traffic but the query still executes the same expensive JOIN plan on the secondary, consuming its CPU; it addresses contention, not the query's cost. Read replicas fit read-heavy workloads where scaling out throughput is the goal, not tuning one costly statement.

Go deeper

Related to this question

About these practice questions

Courseiva writes every DP-300 question from scratch — 574 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 →

How Courseiva writes practice questions · Editorial policy

JA

Written and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official Microsoft exam blueprint

This DP-300 practice question is part of Courseiva's free Microsoft 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 DP-300 exam.