explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Qw8f

Settings
# exclusive inclusive rows x rows loops node
1. 77.110 8,233.570 ↑ 2.0 3 1

GroupAggregate (cost=20,451.14..20,455.03 rows=6 width=56) (actual time=8,178.872..8,233.570 rows=3 loops=1)

  • Group Key: campagnejo3_.code_tech
2. 0.000 8,156.460 ↓ 6.4 3,294 1

Sort (cost=20,451.14..20,452.41 rows=511 width=81) (actual time=8,156.271..8,156.460 rows=3,294 loops=1)

  • Sort Key: campagnejo3_.code_tech
  • Sort Method: quicksort Memory: 354kB
3. 532.658 8,189.892 ↓ 6.4 3,294 1

Gather (cost=1,003.35..20,428.15 rows=511 width=81) (actual time=161.568..8,189.892 rows=3,294 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
4. 0.726 7,657.234 ↓ 5.2 1,098 3

Hash Join (cost=3.35..19,377.05 rows=213 width=81) (actual time=185.878..7,657.234 rows=1,098 loops=3)

  • Hash Cond: (campagnejo2_.id_zone = campagnejo3_.id_zone)
5. 33.070 7,649.871 ↓ 5.2 1,098 3

Nested Loop (cost=2.22..19,374.95 rows=213 width=66) (actual time=179.126..7,649.871 rows=1,098 loops=3)

6. 0.691 7,616.772 ↓ 5.2 1,098 3

Hash Join (cost=1.94..19,288.52 rows=213 width=66) (actual time=173.361..7,616.772 rows=1,098 loops=3)

  • Hash Cond: (statusperi4_.id_dossier_status = dossiersta5_.id_dossier_status)
7. 1,994.183 7,615.307 ↑ 1.3 1,191 3

Nested Loop (cost=0.84..19,281.14 rows=1,489 width=99) (actual time=172.566..7,615.307 rows=1,191 loops=3)

8. 438.483 5,619.449 ↑ 1.3 1,191 3

Nested Loop (cost=0.42..18,316.87 rows=1,489 width=99) (actual time=93.157..5,619.449 rows=1,191 loops=3)

9. 5,180.598 5,180.598 ↑ 1.3 1,191 3

Parallel Seq Scan on t_campagne_jour_retard campagnejo0_ (cost=0.00..13,690.88 rows=1,489 width=66) (actual time=4.760..5,180.598 rows=1,191 loops=3)

  • Filter: ((NOT boo_supprime) AND (NOT boo_en_migration) AND (NOT boo_traiter) AND (id_organisation = '8a9483ef5621e35d015626518779001c'::bpchar))
  • Rows Removed by Filter: 2002
10. 0.368 0.368 ↑ 1.0 1 3,572

Index Only Scan using t_dossier_id_dossier_id_prestataire_id_status_idx on t_dossier dossier1_ (cost=0.42..3.11 rows=1 width=66) (actual time=0.368..0.368 rows=1 loops=3,572)

  • Index Cond: (id_dossier = campagnejo0_.id_dossier)
  • Heap Fetches: 16
11. 1.675 1.675 ↑ 1.0 1 3,572

Index Scan using t_status_periodicite_pkey on t_status_periodicite statusperi4_ (cost=0.42..0.65 rows=1 width=66) (actual time=1.675..1.675 rows=1 loops=3,572)

  • Index Cond: (id_status_periodicite = dossier1_.id_status)
12. 0.004 0.774 ↑ 1.0 1 3

Hash (cost=1.09..1.09 rows=1 width=132) (actual time=0.774..0.774 rows=1 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
13. 0.770 0.770 ↑ 1.0 1 3

Seq Scan on t_dossier_status dossiersta5_ (cost=0.00..1.09 rows=1 width=132) (actual time=0.768..0.770 rows=1 loops=3)

  • Filter: ((code_dossier_status)::text ~~ 'OUVERT'::text)
  • Rows Removed by Filter: 6
14. 0.029 0.029 ↑ 1.0 1 3,294

Index Scan using t_campagne_jour_category_pkey on t_campagne_jour_category campagnejo2_ (cost=0.28..0.41 rows=1 width=66) (actual time=0.029..0.029 rows=1 loops=3,294)

  • Index Cond: (id_category = campagnejo0_.id_category)
15. 0.008 6.637 ↑ 1.0 6 3

Hash (cost=1.06..1.06 rows=6 width=180) (actual time=6.637..6.637 rows=6 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
16. 6.629 6.629 ↑ 1.0 6 3

Seq Scan on t_campagne_jour_zone campagnejo3_ (cost=0.00..1.06 rows=6 width=180) (actual time=6.624..6.629 rows=6 loops=3)