explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Kj71

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

Limit (cost=4,826.19..4,826.22 rows=10 width=209) (actual time=406.045..406.078 rows=10 loops=1)

  • Output: transaction_id, platform, user_id, (CASE WHEN (lock_ts >= '2019-05-10 19:37:26.753706'::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. 190.841 406.053 ↑ 62.5 10 1

Sort (cost=4,826.19..4,827.76 rows=625 width=209) (actual time=406.042..406.053 rows=10 loops=1)

  • Output: transaction_id, platform, user_id, (CASE WHEN (lock_ts >= '2019-05-10 19:37:26.753706'::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: 30kB
  • Buffers: shared hit=2308
3. 215.212 215.212 ↓ 200.0 125,000 1

Seq Scan on public.transaction (cost=0.00..4,812.69 rows=625 width=209) (actual time=0.030..215.212 rows=125,000 loops=1)

  • Output: transaction_id, platform, user_id, CASE WHEN (lock_ts >= '2019-05-10 19:37:26.753706'::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 > '-infinity'::timestamp without time zone) AND (transaction.user_id = COALESCE(transaction.user_id)) AND (transaction.status = 'pending'::rv_status) AND (transaction.game = 'test'::text))
  • Buffers: shared hit=2308