explain.depesz.com

PostgreSQL's explain analyze made readable

Result: YfKM

Settings
# exclusive inclusive rows x rows loops node
1. 0.560 589.449 ↑ 2.0 1 1

GroupAggregate (cost=1,277.72..1,277.75 rows=2 width=73) (actual time=589.449..589.449 rows=1 loops=1)

  • Group Key: payment_methods.category, transactions.is_bunkered
  • Buffers: shared hit=729503 read=902
  • I/O Timings: read=4.812
2. 0.608 588.889 ↓ 176.2 2,114 1

Sort (cost=1,277.72..1,277.72 rows=12 width=43) (actual time=588.769..588.889 rows=2,114 loops=1)

  • Sort Key: transactions.is_bunkered
  • Sort Method: quicksort Memory: 262kB
  • Buffers: shared hit=729503 read=902
  • I/O Timings: read=4.812
3. 179.017 588.281 ↓ 176.2 2,114 1

Nested Loop (cost=0.11..1,277.67 rows=12 width=43) (actual time=24.619..588.281 rows=2,114 loops=1)

  • Join Filter: (transactions.payment_method_id = payment_methods.id)
  • Rows Removed by Join Filter: 755290
  • Buffers: shared hit=729503 read=902
  • I/O Timings: read=4.812
4. 0.052 0.052 ↓ 36.0 36 1

Seq Scan on payment_methods (cost=0.00..1.18 rows=1 width=40) (actual time=0.013..0.052 rows=36 loops=1)

  • Filter: ((category)::text = 'fcard'::text)
  • Rows Removed by Filter: 14
  • Buffers: shared hit=1
5. 409.212 409.212 ↓ 36.1 21,039 36

Index Scan using simon_test_2 on transactions (cost=0.11..1,274.46 rows=582 width=19) (actual time=0.014..11.367 rows=21,039 loops=36)

  • Index Cond: ((station_id = ANY ('{9680,2262,5101,7165,7177,5597,6436,2281,3377,5068,5083,156,4253,5257,5263,6371,5081,3584,4240,5157,4230,7493,6426,6471,4256,533,9676,9675,2644,2241,285,4182,5284,5145,7531,5130,7244,842,9444,6466,4239,5099,9193,9443,5505,5438,2248,6461,4445,4255,4205,6354,1509}'::bigint[])) AND (owner_id = 2664) AND (transaction_at >= '2019-01-11 00:00:00'::timestamp without time zone) AND (transaction_at <= '2019-01-11 23:59:00'::timestamp without time zone))
  • Buffers: shared hit=729502 read=902
  • I/O Timings: read=4.812
Planning time : 0.848 ms
Execution time : 589.509 ms