explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Wh1X

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 529.823 ↑ 2.9 30 1

Limit (cost=140,669.26..140,679.30 rows=86 width=65) (actual time=529.813..529.823 rows=30 loops=1)

2. 11.092 536.922 ↑ 2.9 30 1

Gather Merge (cost=140,669.26..140,679.30 rows=86 width=65) (actual time=529.811..536.922 rows=30 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
3. 0.049 525.830 ↑ 4.3 10 3 / 3

Sort (cost=139,669.24..139,669.35 rows=43 width=65) (actual time=525.829..525.830 rows=10 loops=3)

  • Sort Key: i.created_at
  • Sort Method: quicksort Memory: 27kB
  • Worker 0: Sort Method: quicksort Memory: 25kB
  • Worker 1: Sort Method: quicksort Memory: 26kB
4. 0.138 525.781 ↑ 4.3 10 3 / 3

Nested Loop (cost=118,332.98..139,668.07 rows=43 width=65) (actual time=525.382..525.781 rows=10 loops=3)

5. 348.534 517.676 ↑ 5.0 234 3 / 3

Parallel Bitmap Heap Scan on identifier i (cost=118,332.41..130,354.57 rows=1,169 width=81) (actual time=506.911..517.676 rows=234 loops=3)

  • Recheck Cond: ((type = 'idl'::type) AND (subtype IS NULL) AND (created_at > '2020-03-20 00:00:00+00'::timestamp with time zone))
  • Rows Removed by Index Recheck: 26,086
  • Filter: (request_type = 'OPT_OUT'::request)
  • Rows Removed by Filter: 199
  • Heap Blocks: exact=312 lossy=752
6. 3.566 169.142 ↓ 0.0 0 1 / 3

BitmapAnd (cost=118,332.41..118,332.41 rows=3,078 width=0) (actual time=507.426..507.426 rows=0 loops=1)

7. 75.907 75.907 ↓ 31.2 3,068,612 1 / 3

Bitmap Index Scan on identifier_type_subtype_idx (cost=0.00..5,496.85 rows=98,428 width=0) (actual time=227.722..227.722 rows=3,068,612 loops=1)

  • Index Cond: ((type = 'idl'::type) AND (subtype IS NULL))
8. 89.668 89.668 ↓ 1.2 3,279,294 1 / 3

Bitmap Index Scan on identifier_created_at_idx (cost=0.00..112,833.91 rows=2,843,379 width=0) (actual time=269.005..269.005 rows=3,279,294 loops=1)

  • Index Cond: (created_at > '2020-03-20 00:00:00+00'::timestamp with time zone)
9. 7.967 7.967 ↓ 0.0 0 703 / 3

Index Only Scan using identifier_controller_pkey on identifier_controller ic (cost=0.57..7.96 rows=1 width=16) (actual time=0.034..0.034 rows=0 loops=703)

  • Index Cond: ((identifier_uuid = i.uuid) AND (controller_uuid = ANY ('{00000000-0000-0000-0000-000000000000}'::uuid[])))
  • Heap Fetches: 30