Courseiva

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

You are optimizing an Azure SQL Database that uses the General Purpose service tier. You observe that the database is experiencing high wait times due to PAGEIOLATCH_SH waits. You need to reduce these waits. Which two actions should you perform? (Choose two.)

⚠ Common exam trap

The trap here is thinking that read scale-out or Query Store plan forcing will reduce IO waits, when the real solutions are increasing IO capacity or reducing IO demand through indexing.

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

✓

Add appropriate indexes to reduce the number of pages read.

PAGEIOLATCH_SH waits indicate that queries are waiting for data pages to be read from storage. To reduce these waits, you can either increase the IO throughput and reduce latency by scaling up the database to a higher service tier or compute size, or reduce the number of pages read by adding appropriate indexes. Both actions address the underlying cause: insufficient IO performance or excessive IO demand. Increasing max size or enabling read scale-out do not directly improve primary IO for read-write workloads.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Increase the database's max size.

    Why it's wrong here

    Increasing max size only affects the maximum storage capacity of the database. It does not improve data IO performance or reduce PAGEIOLATCH_SH waits, which occur when a task waits for a data page to be read from storage into memory. The bottleneck is IO latency or throughput, not storage capacity. Therefore, increasing max size will not address the high wait times.

  • ✗

    Enable Query Store and force the last known good plan.

    Why it's wrong here

    Enabling Query Store and forcing a plan can address performance regressions due to plan changes, but it does not directly reduce PAGEIOLATCH_SH waits caused by high physical IO. If the query plan is already optimal, forcing it will not reduce IO. While Query Store is a valuable tool for monitoring and troubleshooting, it is not a direct remedy for IO waits unless the waits are due to a suboptimal plan, which is not indicated.

  • ✓

    Add appropriate indexes to reduce the number of pages read.

    Why this is correct

    PAGEIOLATCH_SH waits occur when queries read data pages from storage. Adding appropriate indexes, such as covering indexes, can reduce the number of pages that must be read to satisfy a query, thereby decreasing physical IO and the associated waits. This is a targeted optimization that addresses the query workload itself. It is especially effective when queries perform scans that can be converted to seeks with the right indexes.

  • ✗

    Enable read scale-out and redirect reporting queries to the secondary replica.

    Why it's wrong here

    Read scale-out offloads read-only queries to a secondary replica, which can reduce IO on the primary. However, it does not improve the IO performance of the primary for read-write workloads. If the PAGEIOLATCH_SH waits are caused by the primary's read-write workload, read scale-out will not help. It is beneficial for read-heavy workloads, but the scenario does not specify that the waits are from read-only queries, so this is not a guaranteed fix.

  • ✓

    Scale up the database to a higher service tier or compute size.

    Why this is correct

    PAGEIOLATCH_SH waits indicate that queries are waiting for data pages to be read from storage. Scaling up to a higher service tier or compute size increases the IO throughput and reduces IO latency, which can significantly decrease these waits. Additionally, higher tiers may provide more memory, allowing more data to be cached and reducing the need for physical IO. This directly addresses the root cause of the waits.

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.