Bird
0
0

Why does a BRIN index not store individual row pointers like a B-Tree index, and how does this affect its performance?

hard📝 Conceptual Q10 of 15
PostgreSQL - Indexing Strategies
Why does a BRIN index not store individual row pointers like a B-Tree index, and how does this affect its performance?
ABRIN stores summaries per block range, reducing space but making lookups less precise.
BBRIN stores full row pointers, making it faster but larger than B-Tree.
CBRIN compresses all data into a single value, making it very fast for all queries.
DBRIN duplicates the table data internally for quick access.
Step-by-Step Solution
Solution:
  1. Step 1: Understand BRIN index structure

    BRIN indexes store summaries (min/max) for block ranges, not individual row pointers.
  2. Step 2: Analyze performance trade-offs

    This reduces index size and speeds up scans on ordered data but makes lookups less precise than B-Tree.
  3. Final Answer:

    BRIN stores summaries per block range, reducing space but making lookups less precise. -> Option A
  4. Quick Check:

    BRIN trades precision for space efficiency [OK]
Quick Trick: BRIN summarizes blocks, not rows, saving space [OK]
Common Mistakes:
  • Thinking BRIN stores full row pointers
  • Assuming BRIN compresses all data into one value
  • Believing BRIN duplicates table data

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PostgreSQL Quizzes