explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 0Bwt : Optimization for: Optimization for: plan #1Cf1; plan #RSlp

Settings

Optimization path:

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 0.539 61,445.766 ↓ 157.0 157 1

Aggregate (cost=3,880.69..3,880.71 rows=1 width=27) (actual time=61,444.91..61,445.766 rows=157 loops=1)

  • Buffers: shared hit=18687373
2. 2.719 61,445.227 ↓ 553.0 553 1

Sort (cost=3,880.69..3,880.69 rows=1 width=23) (actual time=61,444.896..61,445.227 rows=553 loops=1)

  • Sort Key: b.country, (date_trunc('week'::text, a.connectedat))
  • Sort Method: quicksort Memory: 68kB
  • Buffers: shared hit=18687373
3. 9,577.591 61,442.508 ↓ 553.0 553 1

Nested Loop (cost=310.26..3,880.68 rows=1 width=23) (actual time=17.874..61,442.508 rows=553 loops=1)

  • Buffers: shared hit=18687373
4. 69.075 69.075 ↓ 10,178.0 10,178 1

Seq Scan on describers b (cost=0..819.45 rows=1 width=40) (actual time=0.019..69.075 rows=10,178 loops=1)

  • Filter: (('{all}'::text[] && (array_prepend('all'::character varying, b.alltags))::text[]) AND ('{all}'::text[] && CASE WHEN ((b.country)::text = 'Undefined'::text) THEN ('{all,Undefined}'::text[] || (b.alltags)::text[]) ELSE (array_prepend('all'::character varying, b.alltags))::text[] END))
  • Buffers: shared hit=565
5. 40,762.890 51,795.842 ↑ 3.7 1,097 10,178

Bitmap Heap Scan on participantcalldata a (cost=310.26..3,010.16 rows=4,085 width=43) (actual time=1.358..5.089 rows=1,097 loops=10,178)

  • Filter: ((a.connectedat >= '2017-08-08 01:22:49.098+00'::timestamp with time zone) AND (a.connectedat <= '2017-12-12 07:53:17.599+00'::timestamp with time zone))
  • Buffers: shared hit=18686808
6. 11,032.952 11,032.952 ↓ 1.0 14,562 10,178

Bitmap Index Scan on durationseconds_participantcalldata (cost=0..309.24 rows=14,495 width=0) (actual time=1.084..1.084 rows=14,562 loops=10,178)

  • Index Cond: ((a.durationseconds > 300) AND (a.durationseconds < 18000))
  • Buffers: shared hit=427476