explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 52vG

Settings
# exclusive inclusive rows x rows loops node
1. 9.195 144.251 ↓ 28.2 4,036 1

Gather (cost=5,800.73..118,871.08 rows=143 width=44) (actual time=42.590..144.251 rows=4,036 loops=1)

  • Output: ticks_2018_12_01.symbol, ticks_2018_12_01.business_time, ticks_2018_12_01.seq, ticks_2018_12_01.price, ticks_2018_12_01.exchange
  • Workers Planned: 2
  • Workers Launched: 2
  • Buffers: shared hit=18702
2. 0.170 135.056 ↓ 22.4 1,345 3

Append (cost=4,800.73..117,856.78 rows=60 width=44) (actual time=36.163..135.056 rows=1,345 loops=3)

  • Buffers: shared hit=59362
  • Worker 0: actual time=31.186..129.648 rows=1750 loops=1
  • Buffers: shared hit=25282
  • Worker 1: actual time=35.188..134.910 rows=1097 loops=1
  • Buffers: shared hit=15378
3. 106.939 134.886 ↓ 22.4 1,345 3

Parallel Bitmap Heap Scan on public.ticks_2018_12_01 (cost=4,800.73..117,856.78 rows=60 width=44) (actual time=36.163..134.886 rows=1,345 loops=3)

  • Output: ticks_2018_12_01.symbol, ticks_2018_12_01.business_time, ticks_2018_12_01.seq, ticks_2018_12_01.price, ticks_2018_12_01.exchange
  • Recheck Cond: (ticks_2018_12_01.exchange = 'COINBASE'::text)
  • Filter: ((ticks_2018_12_01.business_time > '2018-12-01 00:00:00'::timestamp without time zone) AND (ticks_2018_12_01.business_time < '2018-12-01 12:00:00'::timestamp without time zone) AND (ticks_2018_12_01.symbol = 'XBT/EUR:GDAX'::text))
  • Rows Removed by Filter: 66234
  • Heap Blocks: exact=17501
  • Buffers: shared hit=59362
  • Worker 0: actual time=31.185..129.428 rows=1750 loops=1
  • Buffers: shared hit=25282
  • Worker 1: actual time=35.188..134.764 rows=1097 loops=1
  • Buffers: shared hit=15378
4. 27.947 27.947 ↓ 1.0 202,739 1

Bitmap Index Scan on exchange_ticks_2018_12_01_idx (cost=0.00..4,800.69 rows=197,901 width=0) (actual time=27.947..27.947 rows=202,739 loops=1)

  • Index Cond: (ticks_2018_12_01.exchange = 'COINBASE'::text)
  • Buffers: shared hit=1201