explain.depesz.com

PostgreSQL's explain analyze made readable

Result: diaN9

Settings
# exclusive inclusive rows x rows loops node
1. 0.032 0.360 ↑ 1.0 10 1

Limit (cost=57.79..57.82 rows=10 width=209) (actual time=0.246..0.360 rows=10 loops=1)

  • Output: transaction_id, platform, user_id, (CASE WHEN (lock_ts >= '2019-05-10 19:58:15.944615'::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=2 read=4
2. 0.175 0.328 ↑ 4.0 10 1

Sort (cost=57.79..57.89 rows=40 width=209) (actual time=0.242..0.328 rows=10 loops=1)

  • Output: transaction_id, platform, user_id, (CASE WHEN (lock_ts >= '2019-05-10 19:58:15.944615'::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=2 read=4
3. 0.153 0.153 ↑ 1.0 40 1

Index Scan using user_status_game_null on public.transaction (cost=0.42..56.93 rows=40 width=209) (actual time=0.055..0.153 rows=40 loops=1)

  • Output: transaction_id, platform, user_id, CASE WHEN (lock_ts >= '2019-05-10 19:58:15.944615'::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
  • Index Cond: ((transaction.user_id = 'fc7a353b4b3c88081a8e0913f26d3971'::text) AND (transaction.status = 'pending'::rv_status) AND (transaction.game = 'test'::text))
  • Filter: (transaction.pending_ts > '2019-05-10 23:45:18.798869'::timestamp without time zone)
  • Rows Removed by Filter: 10
  • Buffers: shared hit=2 read=4