explain.depesz.com

PostgreSQL's explain analyze made readable

Result: mXsx

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Limit (cost=253,594.85..253,594.86 rows=1 width=12) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=253,594.85..253,594.86 rows=1 width=12) (actual rows= loops=)

  • Sort Key: last_check_time
3. 0.000 0.000 ↓ 0.0

Gather (cost=34,560.51..253,594.84 rows=1 width=12) (actual rows= loops=)

  • Workers Planned: 2
4. 0.000 0.000 ↓ 0.0

Parallel Bitmap Heap Scan on tickets (cost=33,560.51..252,594.74 rows=1 width=12) (actual rows= loops=)

  • Recheck Cond: ((intent_id IS NOT NULL) OR (receipt_id IS NOT NULL))
  • Filter: ((deleted_at IS NULL) AND ((product_details ->> 'expiration_date'::text) IS NOT NULL) AND (confirmation_status <> 'renewed'::text) AND (type = 'service'::text) AND (status = 'new'::text) AND ((last_check_time)::double precision < (date_part('epoch'::text, CURRENT_TIMESTAMP) - '10000'::double precision)) AND ((((product_details ->> 'expiration_date'::text))::integer)::double precision > (date_part('epoch'::text, CURRENT_TIMESTAMP) - '10000'::double precision)) AND ((((product_details ->> 'expiration_date'::text))::integer)::double precision < (date_part('epoch'::text, CURRENT_TIMESTAMP) + '10000'::double precision)))
5. 0.000 0.000 ↓ 0.0

BitmapOr (cost=33,560.51..33,560.51 rows=682,303 width=0) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on tickets_intent_id_key (cost=0.00..17,779.24 rows=365,291 width=0) (actual rows= loops=)

  • Index Cond: (intent_id IS NOT NULL)
7. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on tickets_receipt_id_key (cost=0.00..15,781.26 rows=317,012 width=0) (actual rows= loops=)