1

When I use explain analyze to profile a join query:

D create or replace table r1 as select range, (random()*100)::UINT8 as r from range(0,500000);
D create or replace table r2 as select range, (random()*100)::UINT8 as r from range(0,500000);
D explain analyze select avg(r1.range + r2.range) from r1 join r2 on r1.r = r2.r;

I see that Total Time (~9s) is less than the HASH_JOIN operator time (~21s), how should I interpret that?

┌─────────────────────────────────────┐
│┌───────────────────────────────────┐│
││         Total Time: 9.10s         ││
│└───────────────────────────────────┘│
└─────────────────────────────────────┘
┌───────────────────────────┐                             
│      EXPLAIN_ANALYZE      │                             
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │                             
│             0             │                             
│          (0.00s)          │                             
└─────────────┬─────────────┘                                                          
┌─────────────┴─────────────┐                             
│    UNGROUPED_AGGREGATE    │                             
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │                             
│          avg(#0)          │                             
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │                             
│             1             │                             
│          (6.83s)          │                             
└─────────────┬─────────────┘                                                          
┌─────────────┴─────────────┐                             
│         PROJECTION        │                             
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │                             
│     (range) + (range)     │                             
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │                             
│         2499963940        │                             
│          (4.69s)          │                             
└─────────────┬─────────────┘                                                          
┌─────────────┴─────────────┐                             
│         HASH_JOIN         │                             
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │                             
│           INNER           │                             
│           r = r           │                             
│   EC = 2551020408.163265  ├──────────────┐              
│  COST = 2551020408.163265 │              │              
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │              │              
│         2499963940        │              │              
│          (21.19s)         │              │              
└─────────────┬─────────────┘              │                                           
┌─────────────┴─────────────┐┌─────────────┴─────────────┐
│          SEQ_SCAN         ││          SEQ_SCAN         │
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   ││   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │
│             r1            ││             r2            │
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   ││   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │
│             r             ││             r             │
│           range           ││           range           │
│         EC=500000         ││         EC=500000         │
│   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   ││   ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─   │
│           500000          ││           500000          │
│          (0.00s)          ││          (0.00s)          │
└───────────────────────────┘└───────────────────────────┘  
egor10_4
  • 331
  • 2
  • 9

0 Answers0