explain.depesz.com

PostgreSQL's explain analyze made readable

Result: EuoW

Settings
# exclusive inclusive rows x rows loops node
1. 5.811 15.467 ↑ 8.5 118 1

Gather (cost=9,741.97..9,867.22 rows=1,002 width=69) (actual time=15.266..15.467 rows=118 loops=1)

  • Workers Planned: 1
  • Workers Launched: 1
  • Single Copy: true
2. 0.097 9.656 ↑ 8.5 118 1

GroupAggregate (cost=8,741.97..8,767.02 rows=1,002 width=69) (actual time=9.567..9.656 rows=118 loops=1)

  • Group Key: pwe.lf_category_id, pwe.product_key
3. 0.230 9.559 ↑ 8.5 118 1

Sort (cost=8,741.97..8,744.47 rows=1,002 width=41) (actual time=9.545..9.559 rows=118 loops=1)

  • Sort Key: pwe.lf_category_id, pwe.product_key
4. 0.485 9.329 ↑ 8.5 118 1

Nested Loop (cost=49.93..8,692.02 rows=1,002 width=41) (actual time=1.165..9.329 rows=118 loops=1)

5. 6.109 8.843 ↑ 3.3 300 1

Nested Loop (cost=49.92..7,554.75 rows=1,002 width=73) (actual time=1.150..8.843 rows=300 loops=1)

6. 2.482 2.729 ↓ 1.1 1,083 1

Bitmap Heap Scan on mv_product_with_elements pwe (cost=49.92..6,417.47 rows=1,002 width=311) (actual time=1.113..2.729 rows=1,083 loops=1)

  • Recheck Cond: ((host_id = ANY ('{11}'::integer[])) AND (lf_gender_id = ANY ('{12}'::integer[])) AND (lf_category_id = ANY ('{23}'::integer[])))
  • Filter: ((first_seen <= '2019-03-08'::date) AND (last_seen >= '2019-01-01'::date))
  • Rows Removed by Filter: 609
7. 0.247 0.247 ↑ 1.0 1,692 1

Bitmap Index Scan on mv_product_with_elements_host_category_gender_idx (cost=0.00..49.66 rows=1,699 width=0) (actual time=0.247..0.247 rows=1,692 loops=1)

  • Index Cond: ((host_id = ANY ('{11}'::integer[])) AND (lf_gender_id = ANY ('{12}'::integer[])) AND (lf_category_id = ANY ('{23}'::integer[])))
8. 0.005 0.005 ↓ 0.0 0 1,083

Function Scan on jsonb_each_text tags (cost=0.00..1.13 rows=1 width=32) (actual time=0.005..0.005 rows=0 loops=1,083)

  • Filter: (key = ANY ('{collar}'::text[]))
  • Rows Removed by Filter: 7
9. 0.001 0.001 ↓ 0.0 0 300

Function Scan on jsonb_array_elements_text tag_attrs (cost=0.01..1.13 rows=1 width=0) (actual time=0.001..0.001 rows=0 loops=300)

  • Filter: (value = ANY ('{lapel}'::text[]))
  • Rows Removed by Filter: 1