explain.depesz.com

PostgreSQL's explain analyze made readable

Result: eaR : no index -- no user

Settings
# exclusive inclusive rows x rows loops node
1. 0.025 340.064 ↑ 1.0 10 1

Limit (cost=4,822.82..4,822.84 rows=10 width=209) (actual time=340.032..340.064 rows=10 loops=1)

  • Output: transaction_id, platform, user_id, (CASE WHEN (lock_ts >= '2019-05-10 19:35:08.594029'::timestamp without time zone) THEN 'locked'::text ELSE (status)::text END), item, quantity, pending_ts, pending_ts, transaction_id, platform, NULL::timestamp without time zone, NULL::text, NULL::platform
  • Buffers: shared hit=2308
2. 156.560 340.039 ↑ 50.9 10 1

Sort (cost=4,822.82..4,824.09 rows=509 width=209) (actual time=340.028..340.039 rows=10 loops=1)

  • Output: transaction_id, platform, user_id, (CASE WHEN (lock_ts >= '2019-05-10 19:35:08.594029'::timestamp without time zone) THEN 'locked'::text ELSE (status)::text END), item, quantity, pending_ts, pending_ts, transaction_id, platform, NULL::timestamp without time zone, NULL::text, NULL::platform
  • Sort Key: transaction.pending_ts, transaction.transaction_id, transaction.platform
  • Sort Method: top-N heapsort Memory: 29kB
  • Buffers: shared hit=2308
3. 183.479 183.479 ↓ 200.3 101,942 1

Seq Scan on public.transaction (cost=0.00..4,811.82 rows=509 width=209) (actual time=0.017..183.479 rows=101,942 loops=1)

  • Output: transaction_id, platform, user_id, CASE WHEN (lock_ts >= '2019-05-10 19:35:08.594029'::timestamp without time zone) THEN 'locked'::text ELSE (status)::text END, item, quantity, pending_ts, pending_ts, transaction_id, platform, NULL::timestamp without time zone, NULL::text, NULL::platform
  • Filter: ((transaction.fulfilled_ts IS NULL) AND (transaction.pending_ts > '2019-05-10 23:45:18.798869'::timestamp without time zone) AND (transaction.user_id = COALESCE(transaction.user_id)) AND (transaction.status = 'pending'::rv_status) AND (transaction.game = 'test'::text))
  • Rows Removed by Filter: 23058
  • Buffers: shared hit=2308