explain.depesz.com

PostgreSQL's explain analyze made readable

Result: L2Xi

Settings
# exclusive inclusive rows x rows loops node
1. 14.210 119.367 ↓ 7.5 36,519 1

HashAggregate (cost=102,051.72..102,100.37 rows=4,865 width=16) (actual time=114.771..119.367 rows=36,519 loops=1)

  • Group Key: clip.id
2. 2.452 105.157 ↓ 7.5 36,522 1

Append (cost=13,436.88..102,039.56 rows=4,865 width=16) (actual time=64.690..105.157 rows=36,522 loops=1)

3. 9.473 65.386 ↑ 536.1 7 1

Bitmap Heap Scan on clip (cost=13,436.88..29,295.73 rows=3,753 width=16) (actual time=64.689..65.386 rows=7 loops=1)

  • Recheck Cond: (((to_tsvector('simple'::regconfig, ((COALESCE(title, ''::text) || ' '::text) || COALESCE(description, ''::text))) @@ '''drink'''::tsquery) OR (to_tsvector('english'::regconfig, ((COALESCE(title, ''::text) || ' '::text) || COALESCE(description, ''::text))) @@ '''drink'''::tsquery)) AND (workspace_id = '1f32d99e-2062-43cb-b9a8-7ae13ab7c977'::uuid))
  • Rows Removed by Index Recheck: 98
  • Heap Blocks: exact=98
4. 0.623 55.913 ↓ 0.0 0 1

BitmapAnd (cost=13,436.88..13,436.88 rows=3,762 width=0) (actual time=55.913..55.913 rows=0 loops=1)

5. 0.000 0.662 ↓ 0.0 0 1

BitmapOr (cost=341.47..341.47 rows=33,013 width=0) (actual time=0.662..0.662 rows=0 loops=1)

6. 0.269 0.269 ↑ 11.1 1,488 1

Bitmap Index Scan on clip_title_description_simple_idx (cost=0.00..167.80 rows=16,506 width=0) (actual time=0.269..0.269 rows=1,488 loops=1)

  • Index Cond: (to_tsvector('simple'::regconfig, ((COALESCE(title, ''::text) || ' '::text) || COALESCE(description, ''::text))) @@ '''drink'''::tsquery)
7. 0.393 0.393 ↑ 7.0 2,374 1

Bitmap Index Scan on clip_title_description_english_idx (cost=0.00..171.80 rows=16,506 width=0) (actual time=0.393..0.393 rows=2,374 loops=1)

  • Index Cond: (to_tsvector('english'::regconfig, ((COALESCE(title, ''::text) || ' '::text) || COALESCE(description, ''::text))) @@ '''drink'''::tsquery)
8. 54.628 54.628 ↓ 1.0 377,031 1

Bitmap Index Scan on clip_workspace_id_index (cost=0.00..13,094.22 rows=376,238 width=0) (actual time=54.628..54.628 rows=377,031 loops=1)

  • Index Cond: (workspace_id = '1f32d99e-2062-43cb-b9a8-7ae13ab7c977'::uuid)
9. 3.642 37.319 ↓ 32.8 36,515 1

Nested Loop (cost=356.20..72,695.18 rows=1,112 width=16) (actual time=12.102..37.319 rows=36,515 loops=1)

10. 2.557 2.934 ↑ 11.0 1 1

Bitmap Heap Scan on smart_tag (cost=309.25..2,561.65 rows=11 width=16) (actual time=2.902..2.934 rows=1 loops=1)

  • Recheck Cond: (workspace_id = '1f32d99e-2062-43cb-b9a8-7ae13ab7c977'::uuid)
  • Filter: (to_tsvector('simple'::regconfig, COALESCE(label, ''::text)) @@ '''drink'''::tsquery)
  • Rows Removed by Filter: 1,765
  • Heap Blocks: exact=449
11. 0.377 0.377 ↑ 1.3 1,766 1

Bitmap Index Scan on smart_tag_workspace_id_label_key (cost=0.00..309.24 rows=2,243 width=0) (actual time=0.377..0.377 rows=1,766 loops=1)

  • Index Cond: (workspace_id = '1f32d99e-2062-43cb-b9a8-7ae13ab7c977'::uuid)
12. 24.767 30.743 ↓ 19.7 36,515 1

Bitmap Heap Scan on clip_smart_tag (cost=46.95..6,357.21 rows=1,857 width=32) (actual time=9.196..30.743 rows=36,515 loops=1)

  • Recheck Cond: (smart_tag_id = smart_tag.id)
  • Heap Blocks: exact=19,147
13. 5.976 5.976 ↓ 19.7 36,515 1

Bitmap Index Scan on clip_smart_tag_id_index (cost=0.00..46.49 rows=1,857 width=0) (actual time=5.976..5.976 rows=36,515 loops=1)

  • Index Cond: (smart_tag_id = smart_tag.id)