explain.depesz.com

PostgreSQL's explain analyze made readable

Result: DYvS : Optimization for: Optimization for: Optimization for: plan #xgHE - adds index on vendor_member.member_id; plan #WjD7; plan #Up22

Settings

Optimization path:

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 0.004 805.553 ↑ 1.0 1 1

Nested Loop Left Join (cost=1,001.27..19,698.26 rows=1 width=4) (actual time=804.746..805.553 rows=1 loops=1)

2. 0.000 805.534 ↑ 1.0 1 1

Nested Loop (cost=1,000.86..19,696.81 rows=1 width=4) (actual time=804.728..805.534 rows=1 loops=1)

3. 37.318 831.647 ↑ 1.0 1 1

Gather (cost=1,000.71..19,696.65 rows=1 width=8) (actual time=804.612..831.647 rows=1 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
4. 0.004 794.329 ↓ 0.0 0 3 / 3

Nested Loop (cost=0.71..18,696.55 rows=1 width=8) (actual time=659.367..794.329 rows=0 loops=3)

5. 794.302 794.302 ↓ 0.0 0 3 / 3

Parallel Index Scan using member_employer_id on member (cost=0.42..18,695.25 rows=1 width=8) (actual time=659.340..794.302 rows=0 loops=3)

  • Filter: (((first_name)::text ~~* '%Elizabeth%'::text) AND ((last_name)::text ~~* '%Aaron%'::text))
  • Rows Removed by Filter: 280,909
6. 0.023 0.023 ↑ 1.0 1 1 / 3

Index Scan using employer_pkey on employer (cost=0.29..1.30 rows=1 width=8) (actual time=0.068..0.069 rows=1 loops=1)

  • Index Cond: (employer_id = member.employer_id)
7. 0.110 0.110 ↑ 1.0 1 1

Index Only Scan using uq_tenant_tenant_id_wex_key on tenant (cost=0.14..0.16 rows=1 width=4) (actual time=0.110..0.110 rows=1 loops=1)

  • Index Cond: (tenant_id = employer.tenant_id)
  • Heap Fetches: 1
8. 0.015 0.015 ↓ 0.0 0 1

Index Only Scan using vendor_member__member_id on vendor_member (cost=0.42..1.43 rows=1 width=4) (actual time=0.015..0.015 rows=0 loops=1)

  • Index Cond: (member_id = member.id)
  • Heap Fetches: 0
Planning time : 1.000 ms
Execution time : 831.848 ms