explain.depesz.com

PostgreSQL's explain analyze made readable

Result: VEQc

Settings
# exclusive inclusive rows x rows loops node
1. 1,459.815 25,711.297 ↓ 9.9 1,674,556 1

Unique (cost=7,305,527.59..7,306,374.10 rows=169,302 width=35) (actual time=23,440.379..25,711.297 rows=1,674,556 loops=1)

2. 9,397.904 24,251.482 ↓ 9.9 1,674,743 1

Sort (cost=7,305,527.59..7,305,950.85 rows=169,302 width=35) (actual time=23,440.377..24,251.482 rows=1,674,743 loops=1)

  • Sort Key: cm_user.ueid
  • Sort Method: quicksort Memory: 177493kB
3. 2,045.997 14,853.578 ↓ 9.9 1,674,743 1

Hash Join (cost=7,701.13..7,290,824.36 rows=169,302 width=35) (actual time=5,232.429..14,853.578 rows=1,674,743 loops=1)

  • Hash Cond: (((((jsonb_array_elements((cm_user.data -> 'subscribers'::text))) ->> 'subscriberUeid'::text))::uuid) = s.ueid)
4. 2,324.064 7,575.184 ↑ 96.9 1,747,681 1

Result (cost=0.00..5,145,563.32 rows=169,311,600 width=51) (actual time=0.017..7,575.184 rows=1,747,681 loops=1)

5. 2,848.061 5,251.120 ↑ 96.9 1,747,681 1

ProjectSet (cost=0.00..1,336,052.32 rows=169,311,600 width=67) (actual time=0.015..5,251.120 rows=1,747,681 loops=1)

6. 2,403.059 2,403.059 ↓ 1.0 1,693,254 1

Seq Scan on cm_user (cost=0.00..472,563.16 rows=1,693,116 width=634) (actual time=0.007..2,403.059 rows=1,693,254 loops=1)

7. 1,037.372 5,232.397 ↓ 967.3 1,910,333 1

Hash (cost=7,676.44..7,676.44 rows=1,975 width=16) (actual time=5,232.396..5,232.397 rows=1,910,333 loops=1)

  • Buckets: 2097152 (originally 2048) Batches: 1 (originally 1) Memory Usage: 105931kB
8. 3,930.135 4,195.025 ↓ 967.3 1,910,333 1

Bitmap Heap Scan on cm_subscriber s (cost=67.31..7,676.44 rows=1,975 width=16) (actual time=332.284..4,195.025 rows=1,910,333 loops=1)

  • Recheck Cond: (data @> jsonb_build_object('profile', 'CLIENT'))
  • Heap Blocks: exact=350574
9. 264.890 264.890 ↓ 967.4 1,910,517 1

Bitmap Index Scan on cm_subscriber_table_index (cost=0.00..66.82 rows=1,975 width=0) (actual time=264.890..264.890 rows=1,910,517 loops=1)

  • Index Cond: (data @> jsonb_build_object('profile', 'CLIENT'))