explain.depesz.com

PostgreSQL's explain analyze made readable

Result: opYP

Settings
# exclusive inclusive rows x rows loops node
1. 0.391 20.489 ↓ 19.0 19 1

Sort (cost=46.71..46.72 rows=1 width=10,368) (actual time=20.309..20.489 rows=19 loops=1)

  • Sort Key: c1.name
  • Sort Method: quicksort Memory: 30kB
2. 9.529 20.098 ↓ 19.0 19 1

Nested Loop Semi Join (cost=0.00..46.70 rows=1 width=10,368) (actual time=2.181..20.098 rows=19 loops=1)

  • Join Filter: ((c1.id <> c2.id) AND (((c1."primaryPhone" IS NOT NULL) AND ((c1."primaryPhone")::text <> ''::text) AND (((c1."primaryPhone")::text = (c2."primaryPhone")::text) OR ((c1."primaryPhone")::text = (c2."alternativePhone")
  • Rows Removed by Join Filter: 859
3. 0.897 0.897 ↑ 1.0 39 1

Seq Scan on candidates c1 (cost=0.00..2.39 rows=39 width=10,368) (actual time=0.527..0.897 rows=39 loops=1)

4. 8.638 9.672 ↑ 1.7 23 39

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

5. 1.034 1.034 ↑ 1.0 39 1

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

Planning time : 5.844 ms
Execution time : 20.814 ms