explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 2brZ

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

Merge Join (cost=2,399,145.35..2,596,645.47 rows=12,219,141 width=8) (actual rows= loops=)

  • Merge Cond: (m.m_id = f.target_object_id)
2.          

CTE message_ids

3. 0.000 0.000 ↓ 0.0

Index Only Scan using test_2 on xact_message (cost=0.43..82,731.20 rows=405,712 width=4) (actual rows= loops=)

  • Index Cond: ((state = 4) AND (templatelanguage_id = ANY ('{17,18,19,20,21,22,23,24}'::integer[])))
4. 0.000 0.000 ↓ 0.0

Sort (cost=51,454.01..52,468.29 rows=405,712 width=4) (actual rows= loops=)

  • Sort Key: m.m_id
5. 0.000 0.000 ↓ 0.0

CTE Scan on message_ids m (cost=0.00..8,114.24 rows=405,712 width=4) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Materialize (cost=2,264,960.14..2,289,329.03 rows=4,873,778 width=8) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Sort (cost=2,264,960.14..2,277,144.58 rows=4,873,778 width=8) (actual rows= loops=)

  • Sort Key: f.target_object_id
8. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on scheduling_flownode f (cost=144,167.42..1,590,293.03 rows=4,873,778 width=8) (actual rows= loops=)

  • Recheck Cond: (state = 1)
  • Filter: (root_node AND (target_content_type_id = 94))
9. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on "Test" (cost=0.00..142,948.98 rows=4,875,241 width=0) (actual rows= loops=)

  • Index Cond: ((state = 1) AND (root_node = true))