explain.depesz.com

PostgreSQL's explain analyze made readable

Result: aRbX : Optimization for: plan #SweN

Settings

Optimization path:

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 0.381 20.663 ↓ 19.0 19 1

Unique (cost=46.71..46.73 rows=1 width=1,040) (actual time=20.120..20.663 rows=19 loops=1)

2. 0.401 20.282 ↓ 19.0 19 1

Sort (cost=46.71..46.72 rows=1 width=1,040) (actual time=20.101..20.282 rows=19 loops=1)

  • Sort Key: c1."alternativePhone", c1."primaryPhone", c1.id
  • Sort Method: quicksort Memory: 26kB
3. 9.463 19.881 ↓ 19.0 19 1

Nested Loop Semi Join (cost=0.00..46.70 rows=1 width=1,040) (actual time=1.796..19.881 rows=19 loops=1)

  • Join Filter: ((c1.id <> c2.id) AND ((((c1."primaryPhone")::text <> ''::text) AND (((c1."primaryPhone")::text = (c2."primaryPhone")::text) OR ((c1."primaryPhone")::text = (c2."alternativePhone")::text))) OR (((c1."alternativ
  • Rows Removed by Join Filter: 859
4. 0.824 0.824 ↑ 1.0 39 1

Seq Scan on candidates c1 (cost=0.00..2.39 rows=39 width=1,036) (actual time=0.378..0.824 rows=39 loops=1)

5. 8.843 9.594 ↑ 1.7 23 39

Materialize (cost=0.00..2.58 rows=39 width=1,036) (actual time=0.021..0.246 rows=23 loops=39)

6. 0.751 0.751 ↑ 1.0 39 1

Seq Scan on candidates c2 (cost=0.00..2.39 rows=39 width=1,036) (actual time=0.344..0.751 rows=39 loops=1)

Planning time : 7.398 ms
Execution time : 20.998 ms