SQL Practice Logo

SQLPractice Online

Caching & Memory Management: Performance

Module: Query Optimization & Performance

**Impact of Memory Spills:**

Sort in memory (work_mem = 500MB):

- Data: 500MB

- Time: 2 seconds

Sort spills to disk (work_mem = 50MB):

- Data: 500MB

- Write to temp: 500MB (10 seconds)

- Read from temp: 500MB (10 seconds)

- Time: 22 seconds (11x slower)

Hash join in memory (work_mem = 200MB):

- Build hash table: 200MB

- Time: 1 second

Hash join spills to disk (work_mem = 50MB):

- Build partial hash tables

- Write to temp: 200MB (4 seconds)

- Multiple passes

- Time: 15 seconds (15x slower)

**Cache Hit Ratio Impact:**

95% hit ratio:

- 1000 queries

- 950 from memory (100ns each) = 95μs

- 50 from disk (10ms each) = 500ms

- Total: 500ms

80% hit ratio:

- 1000 queries

- 800 from memory = 80μs

- 200 from disk = 2000ms

- Total: 2000ms (4x slower)

**Memory Configuration Trade-offs:**

Large shared_buffers (40GB):

- Pros: High cache hit ratio, less disk I/O

- Cons: Less memory for work_mem, longer checkpoint times

Large work_mem (500MB):

- Pros: Fewer spills, faster sorts/joins

- Cons: High memory usage with many connections

Balance:

- OLTP: Larger shared_buffers, smaller work_mem

- Analytics: Moderate shared_buffers, larger work_mem

**Concurrency Impact:**

Low concurrency (10 connections):