explain.depesz.com

PostgreSQL's explain analyze made readable

Result: RSlp : Optimization for: plan #1Cf1

Settings

Optimization path:

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 0.559 61,843.326 ↓ 157.0 157 1

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

  • Buffers: shared hit=18687373
2. 2.519 61,842.767 ↓ 553.0 553 1

Sort (cost=3,880.69..3,880.69 rows=1 width=23) (actual time=61,842.434..61,842.767 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,789.858 61,840.248 ↓ 553.0 553 1

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

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

Seq Scan on describers b (cost=0..819.45 rows=1 width=40) (actual time=0.033..71.344 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,773.068 51,979.046 ↑ 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.378..5.107 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,205.978 11,205.978 ↓ 1.0 14,562 10,178

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

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