Question 347 of 503
Monitor and optimize database performancehardMultiple ChoiceObjective-mapped

Quick Answer

The answer is that the high CPU usage is caused by heap lookup overhead from SELECT *, and the fix is to select only required columns. When PostgreSQL uses the B-tree index on order_date to find matching rows, it must then perform a heap lookup for each row to retrieve all columns, because the index only contains the indexed column and a pointer to the heap. This bitmap heap scan or index scan with tuple retrieval forces the database engine to fetch and decompress full row data from the main table storage, consuming significant CPU cycles per row across 10 million rows. On the Google Professional Cloud Database Engineer exam, this scenario tests your understanding of index-only scans versus heap fetches—a common trap is assuming the index alone avoids all table access. Remember the mnemonic: "Star means far—more columns, more CPU scars."

PCDE Monitor and optimize database performance Practice Question

This PCDE practice question tests your understanding of monitor and optimize database performance. Read the scenario carefully and evaluate each option against the stated constraints before committing to an answer. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.

Your Cloud SQL for PostgreSQL instance is experiencing high CPU utilization during peak hours. You notice that the query `SELECT * FROM orders WHERE order_date >= '2024-01-01'` is frequently run against a table with 10 million rows. The table has a B-tree index on `order_date`. What is the most likely cause of the high CPU usage, and how should you address it?

Clue words in this question

Noticing these words before you look at the options changes how you read each choice.

  • Clue: "most likely"

    Why it matters: Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.

Question 1hardmultiple choice
Full question →

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

The query retrieves all columns, causing significant heap lookup overhead; rewrite the query to select only required columns.

Option C is correct because the query uses `SELECT *`, which forces PostgreSQL to fetch all columns from the heap (the main table storage) even though the index on `order_date` can efficiently locate the matching rows. This results in significant heap lookup (also known as bitmap heap scan or index scan with tuple retrieval) overhead, consuming CPU cycles for each row fetched. Reducing the selected columns to only those needed minimizes I/O and CPU usage by avoiding unnecessary data retrieval from the heap.

Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Answer analysis

Option-by-option breakdown

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

  • The index is fragmented; rebuild the index to improve performance.

    Why it's wrong here

    Index fragmentation is unlikely to be the primary cause; the query pattern itself is inefficient.

  • Increase the instance machine type to provide more CPU capacity.

    Why it's wrong here

    While scaling up might alleviate symptoms, it does not address the root cause of inefficient query design.

  • The query retrieves all columns, causing significant heap lookup overhead; rewrite the query to select only required columns.

    Why this is correct

    Selecting only needed columns reduces I/O and CPU, as fewer heap lookups are required.

    Clue confirmation

    The clue word "most likely" in the question point toward this answer.

    Related concept

    Read the scenario before looking for a memorised answer.

  • The index on `order_date` is not being used; add a hint to force index usage.

    Why it's wrong here

    The index is likely being used, but the issue is not index usage; it's the retrieval of unnecessary columns.

Common exam traps

Common exam trap: answer the scenario, not the keyword

Google Cloud often tests the misconception that high CPU is always due to missing or unused indexes, but here the index is used and the real problem is the overhead of fetching all columns from the heap, which candidates overlook when they focus solely on index usage.

Detailed technical explanation

How to think about this question

In PostgreSQL, when an index scan is used for a query like `SELECT *`, the database must perform a random-access heap lookup for each matching row to retrieve the non-indexed columns. This involves reading individual table pages, which can be CPU-intensive due to repeated page pinning, tuple visibility checks, and memory management. In contrast, a covering index (including all required columns) or a query selecting only indexed columns can avoid heap lookups entirely, reducing CPU usage significantly. Real-world scenarios often show that `SELECT *` queries on large tables with range filters are a common source of performance bottlenecks, especially under concurrent load.

KKey Concepts to Remember

  • Read the scenario before looking for a memorised answer.
  • Find the constraint that changes the correct option.
  • Eliminate answers that are true in general but not in this case.

TExam Day Tips

  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Key takeaway

Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Real-world example

How this comes up in practice

A media company stores terabytes of video archives that are accessed once a year for audit purposes. Moving these objects to a cold storage tier (Azure Archive, S3 Glacier, or Google Nearline) costs a fraction of hot storage. Questions like this test whether you understand storage tiers, access frequency tradeoffs, and retrieval latency requirements.

What to study next

Got this wrong? Here's your next step.

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

Related practice questions

Related PCDE practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

Practice this exam

Start a free PCDE practice session

Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.

FAQ

Questions learners often ask

What does this PCDE question test?

Monitor and optimize database performance — This question tests Monitor and optimize database performance — Read the scenario before looking for a memorised answer..

What is the correct answer to this question?

The correct answer is: The query retrieves all columns, causing significant heap lookup overhead; rewrite the query to select only required columns. — Option C is correct because the query uses `SELECT *`, which forces PostgreSQL to fetch all columns from the heap (the main table storage) even though the index on `order_date` can efficiently locate the matching rows. This results in significant heap lookup (also known as bitmap heap scan or index scan with tuple retrieval) overhead, consuming CPU cycles for each row fetched. Reducing the selected columns to only those needed minimizes I/O and CPU usage by avoiding unnecessary data retrieval from the heap.

What should I do if I get this PCDE question wrong?

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

Are there clue words in this question I should notice?

Yes — watch for: "most likely". Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.

What is the key concept behind this question?

Read the scenario before looking for a memorised answer.

About these practice questions

Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Last reviewed: Jun 30, 2026

Question Discussion

Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.

Loading comments…

Sign in to join the discussion.

This PCDE practice question is part of Courseiva's free Google Cloud 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 PCDE exam.