explain.depesz.com

PostgreSQL's explain analyze made readable

Result: u1vk

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Aggregate (cost=185,086.27..185,086.28 rows=1 width=3) (actual rows= loops=)

  • Functions: 27
  • Options: Inlining false, Optimization false, Expressions true, Deforming true
2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=53,140.89..183,646.63 rows=21,328 width=44) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=53,140.47..181,797.28 rows=2,821 width=137) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Merge Join (cost=53,139.91..67,860.31 rows=165,839 width=156) (actual rows= loops=)

  • Merge Cond: ((lockkeyinfo.houseid)::text = (houseinfo.houseid)::text)
5. 0.000 0.000 ↓ 0.0

Unique (cost=53,139.49..58,607.34 rows=364,523 width=316) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Sort (cost=53,139.49..54,050.80 rows=364,523 width=316) (actual rows= loops=)

  • Sort Key: lockkeyinfo.houseid, lockkeyinfo.lockid, lockkeyinfo.keyholder, lockkeyinfo.useraccount, lockkeyinfo.userrole
7. 0.000 0.000 ↓ 0.0

Append (cost=0.00..13,342.30 rows=364,523 width=316) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Seq Scan on lockkeyinfo (cost=0.00..3,498.59 rows=125,595 width=82) (actual rows= loops=)

  • Filter: (userrole <> 255)
9. 0.000 0.000 ↓ 0.0

Seq Scan on keyhistoryinfo (cost=0.00..4,375.86 rows=238,928 width=78) (actual rows= loops=)

  • Filter: (userrole <> 255)
10. 0.000 0.000 ↓ 0.0

Index Scan using houseinfo_pkey on houseinfo (cost=0.42..2,902.09 rows=54,380 width=35) (actual rows= loops=)

  • Filter: ((xzqhdm)::text ~~ '330522%'::text)
11. 0.000 0.000 ↓ 0.0

Index Scan using opendoorrecord_userid_lockid_idx on opendoorrecord (cost=0.56..0.68 rows=1 width=51) (actual rows= loops=)

  • Index Cond: (((userid)::text = (lockkeyinfo.keyholder)::text) AND ((lockid)::text = (lockkeyinfo.lockid)::text))
12. 0.000 0.000 ↓ 0.0

Index Scan using billrecord_lockid_idx on billrecord (cost=0.42..0.58 rows=8 width=43) (actual rows= loops=)

  • Index Cond: ((lockid)::text = (lockkeyinfo.lockid)::text)JIT: