explain.depesz.com

PostgreSQL's explain analyze made readable

Result: uxS7

Settings
# exclusive inclusive rows x rows loops node
1. 2.972 1,513.638 ↑ 1.6 42 1

Group (cost=3,017.29..3,034.97 rows=68 width=712) (actual time=1,510.664..1,513.638 rows=42 loops=1)

  • Group Key: uhs.id_series, sbp.progression_starts_at, (tool.jsonb_merge(sbp.progression, uhs.progression))
2. 27.663 1,510.666 ↑ 1.3 53 1

Sort (cost=3,017.29..3,017.46 rows=68 width=712) (actual time=1,510.662..1,510.666 rows=53 loops=1)

  • Sort Key: uhs.id_series, sbp.progression_starts_at, (tool.jsonb_merge(sbp.progression, uhs.progression))
  • Sort Method: quicksort Memory: 975kB
3. 1,477.310 1,483.003 ↑ 1.3 53 1

Merge Join (cost=0.71..3,015.22 rows=68 width=712) (actual time=20.413..1,483.003 rows=53 loops=1)

  • Merge Cond: (uhs.id_series = sbp.id_series)
  • Join Filter: (sbp.updated_at > uhs.structure_updated_at)
  • Rows Removed by Join Filter: 10
4. 0.528 0.528 ↑ 3.2 63 1

Index Scan using user_has_series_id_series_idx on user_has_series uhs (cost=0.42..1,336.67 rows=204 width=861) (actual time=0.018..0.528 rows=63 loops=1)

  • Index Cond: (id_series = ANY ('{4,49,329}'::bigint[]))
  • Filter: (id_brand = 'AC'::bpchar)
  • Rows Removed by Filter: 631
5. 5.165 5.165 ↑ 84.5 111 1

Index Scan using brand_series_base_progression_ac_id_series_idx on series_base_progression_ac sbp (cost=0.29..1,639.84 rows=9,377 width=1,138) (actual time=0.011..5.165 rows=111 loops=1)