Bird
0
0

You have a partial index:

hard📝 Application Q9 of 15
PostgreSQL - Indexing Strategies
You have a partial index:
CREATE INDEX idx_recent_active ON users (last_login) WHERE active = true AND last_login > current_date - interval '30 days';
Which query will NOT use this index?
ASELECT * FROM users WHERE active = false AND last_login > current_date - interval '10 days';
BSELECT * FROM users WHERE active = true AND last_login > current_date - interval '15 days';
CSELECT * FROM users WHERE active = true AND last_login > current_date - interval '40 days';
DSELECT * FROM users WHERE active = true AND last_login > current_date - interval '30 days';
Step-by-Step Solution
Solution:
  1. Step 1: Understand index condition

    The index covers rows where active = true and last_login is within last 30 days.
  2. Step 2: Analyze each query

    The query filtering active = false is outside the index condition, so it won't use the index.
  3. Final Answer:

    SELECT * FROM users WHERE active = false AND last_login > current_date - interval '10 days'; -> Option A
  4. Quick Check:

    Query outside partial index WHERE = B [OK]
Quick Trick: Partial index used only if all WHERE conditions match index filter [OK]
Common Mistakes:
  • Ignoring boolean condition mismatch
  • Assuming date range mismatch excludes index
  • Thinking partial index always used

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PostgreSQL Quizzes