explain.depesz.com

PostgreSQL's explain analyze made readable

Result: UQqj

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 1,659.388 ↓ 0.0 0 1

Finalize GroupAggregate (cost=99,117.03..99,192.06 rows=541 width=12) (actual time=1,659.388..1,659.388 rows=0 loops=1)

  • Output: card_latenesses.phase_id, count(*)
  • Group Key: card_latenesses.phase_id
  • Buffers: shared hit=862857 read=1
  • I/O Timings: read=2.114
2. 7.886 1,661.953 ↓ 0.0 0 1

Gather Merge (cost=99,117.03..99,183.95 rows=540 width=12) (actual time=1,659.387..1,661.953 rows=0 loops=1)

  • Output: card_latenesses.phase_id, (PARTIAL count(*))
  • Workers Planned: 5
  • Workers Launched: 1
  • Buffers: shared hit=1734141 read=2
  • I/O Timings: read=3.475
3. 0.001 1,654.067 ↓ 0.0 0 2 / 2

Partial GroupAggregate (cost=98,116.95..98,118.84 rows=108 width=12) (actual time=1,654.067..1,654.067 rows=0 loops=2)

  • Output: card_latenesses.phase_id, PARTIAL count(*)
  • Group Key: card_latenesses.phase_id
  • Buffers: shared hit=1734141 read=2
  • I/O Timings: read=3.475
  • Worker 0: actual time=1649.452..1649.452 rows=0 loops=1
  • Buffers: shared hit=871284 read=1
  • I/O Timings: read=1.361
4. 0.015 1,654.066 ↓ 0.0 0 2 / 2

Sort (cost=98,116.95..98,117.22 rows=108 width=4) (actual time=1,654.066..1,654.066 rows=0 loops=2)

  • Output: card_latenesses.phase_id
  • Sort Key: card_latenesses.phase_id
  • Sort Method: quicksort Memory: 25kB
  • Buffers: shared hit=1734141 read=2
  • I/O Timings: read=3.475
  • Worker 0: actual time=1649.451..1649.451 rows=0 loops=1
  • Buffers: shared hit=871284 read=1
  • I/O Timings: read=1.361
5. 0.001 1,654.051 ↓ 0.0 0 2 / 2

Nested Loop (cost=1.00..98,113.30 rows=108 width=4) (actual time=1,654.051..1,654.051 rows=0 loops=2)

  • Output: card_latenesses.phase_id
  • Inner Unique: true
  • Buffers: shared hit=1734134 read=2
  • I/O Timings: read=3.475
  • Worker 0: actual time=1649.429..1649.429 rows=0 loops=1
  • Buffers: shared hit=871277 read=1
  • I/O Timings: read=1.361
6. 1,654.050 1,654.050 ↓ 0.0 0 2 / 2

Parallel Index Only Scan using idx_cl_on_card_id_phase_id_deleted_at_late_at_card_in_phase on public.card_latenesses (cost=0.43..32,976.55 rows=24,348 width=8) (actual time=1,654.050..1,654.050 rows=0 loops=2)

  • Output: card_latenesses.card_id, card_latenesses.phase_id
  • Filter: (card_latenesses.phase_id = ANY ('{4235366,6849549}'::integer[]))
  • Rows Removed by Filter: 2479478
  • Heap Fetches: 439405
  • Buffers: shared hit=1734134 read=2
  • I/O Timings: read=3.475
  • Worker 0: actual time=1649.428..1649.428 rows=0 loops=1
  • Buffers: shared hit=871277 read=1
  • I/O Timings: read=1.361
7. 0.000 0.000 ↓ 0.0 0 / 2

Index Scan using cards_pkey on public.cards (cost=0.56..2.67 rows=1 width=8) (never executed)

  • Output: cards.id, cards.current_phase_id, cards.title, cards.created_at, cards.updated_at, cards.due_date, cards.deleted_at, cards.started_at, cards.created_by_id, cards.index, cards.finished_at, cards.comments_count, cards.attachments_count, cards.suid, cards.default_to_email, cards.repo_items_importation_id, cards.tmp_import_id, cards.public_form_submitter_email, cards.uuid
  • Index Cond: (cards.id = card_latenesses.card_id)
  • Filter: ((cards.deleted_at IS NULL) AND (card_latenesses.phase_id = cards.current_phase_id))
Planning time : 0.805 ms
Execution time : 1,662.014 ms