explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 4syC

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

Nested Loop Left Join (cost=77.82..4,236,126.32 rows=1 width=23,796) (actual rows= loops=)

  • Join Filter: ((tbl3.tbl3_column8)::text = (tbl4.tbl4_column2)::text)
2. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=77.82..4,236,113.17 rows=1 width=23,244) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=77.68..4,236,110.97 rows=1 width=23,133) (actual rows= loops=)

  • Join Filter: ((function1.fcol1)::text = (COALESCE(tbl1.col1, 'test'::character varying))::text)
  • Filter: ((COALESCE(function1.dictionaryvalue, 'Y'::character varying))::text = 'Y'::text)
4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=77.43..4,236,085.72 rows=1 width=23,069) (actual rows= loops=)

  • Join Filter: (((COALESCE(tbl1.col1, 'N'::character varying))::text = (COALESCE(tbl2.col1, 'N'::character varying))::text) AND ((COALESCE(tbl1.col2, 'N'::character varying))::text = (COALESCE(tbl2.col2, 'N'::character varying))::text) AND ((COALESCE(tbl1.col3, 'N'::character varying))::text = (COALESCE(tbl2.col3, 'N'::character varying))::text) AND ((COALESCE(tbl1.col4, 'N'::character varying))::text = (COALESCE(tbl2.col4, 'N'::character varying))::text))
5. 0.000 0.000 ↓ 0.0

Seq Scan on table2 tbl2 (cost=0.00..1.99 rows=1 width=4,660) (actual rows= loops=)

  • Filter: ((value1 = 1234) AND ((value2)::text = 'test'::text))
6. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=77.43..4,232,775.63 rows=165,405 width=18,409) (actual rows= loops=)

  • Hash Cond: ((COALESCE(tbl1.col1, 'test'::character varying))::text = (tbl3.col3)::text)
  • Filter: (COALESCE(tbl3.col2, 'Y'::bpchar) = 'Y'::bpchar)
7. 0.000 0.000 ↓ 0.0

Seq Scan on table1 tbl1 (cost=0.00..4,104,509.24 rows=33,081,024 width=17,123) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Hash (cost=77.40..77.40 rows=2 width=1,286) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Seq Scan on table3 tbl3 (cost=0.00..77.40 rows=2 width=1,286) (actual rows= loops=)

  • Filter: (col4 = '0000-00-00'::date)
10. 0.000 0.000 ↓ 0.0

Function Scan on function1 (cost=0.25..10.25 rows=1,000 width=64) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Index Scan using indx1 on table5 rgo (cost=0.14..2.19 rows=1 width=111) (actual rows= loops=)

  • Index Cond: ((tbl1.col1)::text = (col1)::text)
  • Filter: (((tbl1.col1)::text = (COALESCE(col1, tbl1.col1))::text) AND ((tbl1.col2)::text = (COALESCE(col2, tbl1.col2))::text))
12. 0.000 0.000 ↓ 0.0

Seq Scan on table4 tbl4 (cost=0.00..11.40 rows=140 width=552) (actual rows= loops=)