explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ikmm

Settings

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 0.006 139.035 ↓ 1.7 20 1

Limit (cost=33,101.16..33,102.54 rows=12 width=36) (actual time=136.788..139.035 rows=20 loops=1)

2. 0.000 139.029 ↓ 1.7 20 1

Gather Merge (cost=33,101.16..33,102.54 rows=12 width=36) (actual time=136.787..139.029 rows=20 loops=1)

  • Workers Planned: 1
  • Workers Launched: 1
3. 0.208 268.832 ↓ 1.3 16 2

Sort (cost=32,101.15..32,101.18 rows=12 width=36) (actual time=134.415..134.416 rows=16 loops=2)

  • Sort Key: (COALESCE(NULLIF(btrim((tt.name)::text), ''::text), (t.name_en)::text))
  • Sort Method: top-N heapsort Memory: 27kB
  • Worker 0: Sort Method: top-N heapsort Memory: 27kB
4. 205.026 268.624 ↓ 5.3 64 2

Parallel Hash Left Join (cost=24,926.23..32,100.93 rows=12 width=36) (actual time=58.738..134.312 rows=64 loops=2)

  • Hash Cond: (t.id = tt.term_id)
  • Filter: ((lower((tt.name)::text) ~~ '%abc%'::text) OR (((lower((tt.name)::text) = ''::text) IS NOT FALSE) AND (lower((t.name_en)::text) ~~ '%abc%'::text)))
  • Rows Removed by Filter: 99936
5. 50.928 50.928 ↑ 1.2 100,000 2

Parallel Seq Scan on terms t (cost=0.00..2,884.47 rows=117,647 width=25) (actual time=0.017..25.464 rows=100,000 loops=2)

6. 3.034 12.670 ↑ 16.4 5,350 2

Parallel Hash (cost=23,233.25..23,233.25 rows=87,518 width=29) (actual time=6.335..6.335 rows=5,350 loops=2)

  • Buckets: 65536 Batches: 4 Memory Usage: 704kB
7. 8.543 9.636 ↑ 16.4 5,350 2

Parallel Bitmap Heap Scan on term_translations tt (cost=4,564.27..23,233.25 rows=87,518 width=29) (actual time=0.619..4.818 rows=5,350 loops=2)

  • Recheck Cond: ((language)::text = 'GB'::text)
  • Heap Blocks: exact=488
8. 1.093 1.093 ↑ 19.6 10,700 1

Bitmap Index Scan on term_translations_language_idx (cost=0.00..4,511.76 rows=210,044 width=0) (actual time=1.093..1.093 rows=10,700 loops=1)

  • Index Cond: ((language)::text = 'GB'::text)
Planning time : 0.859 ms
Execution time : 139.079 ms