explain.depesz.com

PostgreSQL's explain analyze made readable

Result: lE4T

Settings
# exclusive inclusive rows x rows loops node
1. 0.002 1,903.197 ↑ 10.0 1 1

Limit (cost=356.93..4,586.14 rows=10 width=13) (actual time=1,760.273..1,903.197 rows=1 loops=1)

2. 0.012 1,903.195 ↑ 48.0 1 1

Nested Loop Left Join (cost=356.93..20,657.13 rows=48 width=13) (actual time=1,760.271..1,903.195 rows=1 loops=1)

3. 137.285 1,902.571 ↑ 48.0 1 1

Hash Join (cost=356.51..20,462.36 rows=48 width=13) (actual time=1,759.650..1,902.571 rows=1 loops=1)

  • Hash Cond: (c.phone_id = p.id)
4. 262.609 262.609 ↓ 1.0 486,049 1

Seq Scan on client c (cost=0.00..18,830.69 rows=485,769 width=48) (actual time=0.588..262.609 rows=486,049 loops=1)

5. 0.006 1,502.677 ↑ 93.0 1 1

Hash (cost=355.35..355.35 rows=93 width=17) (actual time=1,502.677..1,502.677 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
6. 0.025 1,502.671 ↑ 93.0 1 1

Bitmap Heap Scan on client_phone p (cost=9.13..355.35 rows=93 width=17) (actual time=1,502.670..1,502.671 rows=1 loops=1)

  • Recheck Cond: (lower(main) ~~ '%+380674917757%'::text)
  • Heap Blocks: exact=1
7. 1,502.646 1,502.646 ↑ 93.0 1 1

Bitmap Index Scan on client_phone_main_trgr (cost=0.00..9.11 rows=93 width=0) (actual time=1,502.646..1,502.646 rows=1 loops=1)

  • Index Cond: (lower(main) ~~ '%+380674917757%'::text)
8. 0.612 0.612 ↓ 0.0 0 1

Index Only Scan using scoring_telephone_blocking_tel_scoring_telephone_blocking_t_key on scoring_telephone_blocking sbtel (cost=0.41..4.05 rows=1 width=13) (actual time=0.612..0.612 rows=0 loops=1)

  • Index Cond: ((tel = p.main) AND (scoring_telephone_blocking_type_id = 1))
  • Heap Fetches: 0
Planning time : 2.117 ms
Execution time : 1,903.280 ms