When space is tight and records cannot span pages, does splitting one logical row into multiple physical records reduce wasted space?

Difficulty: Medium

Correct Answer: Valid in general — vertical splitting can reduce page waste

Explanation:


Introduction / Context:
Physical design sometimes must cope with large or wide rows relative to page size. If a single physical record cannot span a page, packing it whole may leave unusable slack space. Splitting can mitigate waste.


Given Data / Assumptions:

  • Pages have fixed sizes (for example, 4 KB, 8 KB, 16 KB).
  • Rows may be wide because of many columns or long variable-length attributes.
  • DBMS may disallow row-overflow across pages in some storage engines or treat it with special overflow areas.


Concept / Approach:
Vertical splitting (storing subsets of columns separately) or row-overflow mechanisms can improve page utilization when a monolithic record would waste space. While there is pointer and join overhead, the trade-off can favor reduced fragmentation and better cache use.


Step-by-Step Solution:
Assess row width relative to page size and average free space.Identify low-access or sparse columns to move into a secondary physical record.Store frequently accessed, compact columns together to maximize rows per page.Measure I/O impact due to additional lookups versus space saved.


Verification / Alternative check:
Benchmark with realistic workloads to confirm fewer page reads per query and improved packing density.


Why Other Options Are Wrong:
Claiming it “always increases waste” ignores scenarios where packing improves; limitations to clustered indexes, fixed-length rows, or columnar engines are unfounded.


Common Pitfalls:
Over-splitting that forces frequent reassembly joins; ignoring hot/cold column access patterns.


Final Answer:
Valid in general — vertical splitting can reduce page waste

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion