explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ctHi

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

Nested Loop Anti Join (cost=4,260.82..278,867.45 rows=21,248 width=176) (actual rows= loops=)

  • Join Filter: ((new_video_regular_1.batch_id)::text = 'f391220035df'::text)
2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4,260.25..95,985.39 rows=21,253 width=210) (actual rows= loops=)

  • Join Filter: (new_video_regular_1.taxonomy_ids @> ARRAY[(ad_group_template.taxonomy_id)::character varying])
3. 0.000 0.000 ↓ 0.0

Hash Join (cost=4,140.20..9,728.51 rows=9,063 width=128) (actual rows= loops=)

  • Hash Cond: (ad_group_template.campaign_id = campaign_definition.id)
4. 0.000 0.000 ↓ 0.0

Seq Scan on ad_group_template (cost=0.00..5,110.07 rows=103,362 width=60) (actual rows= loops=)

  • Filter: ((is_reconciled IS FALSE) AND (taxonomy_id IS NOT NULL))
5. 0.000 0.000 ↓ 0.0

Hash (cost=4,117.38..4,117.38 rows=1,826 width=72) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Seq Scan on campaign_definition (cost=0.00..4,117.38 rows=1,826 width=72) (actual rows= loops=)

  • Filter: ((end_date >= '2019-07-09'::date) AND (update_policy = 'FULL'::updatepolicy))
7. 0.000 0.000 ↓ 0.0

Materialize (cost=120.05..1,247.11 rows=469 width=114) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on new_video_regular new_video_regular_1 (cost=120.05..1,244.77 rows=469 width=114) (actual rows= loops=)

  • Recheck Cond: ((batch_id)::text = 'f391220035df'::text)
9. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on idx_new_video_batch_id (cost=0.00..119.94 rows=469 width=0) (actual rows= loops=)

  • Index Cond: ((batch_id)::text = 'f391220035df'::text)
10. 0.000 0.000 ↓ 0.0

Index Scan using idx_video_ad_group on ad_group_video (cost=0.57..8.59 rows=1 width=24) (actual rows= loops=)

  • Index Cond: (((new_video_regular_1.video_id)::text = (video_id)::text) AND (ad_group_id = ad_group_template.id))