explain.depesz.com

PostgreSQL's explain analyze made readable

Result: iwAO : Après

Settings
# exclusive inclusive rows x rows loops node
1. 0.423 69.773 ↓ 267.0 267 1

WindowAgg (cost=64,557.02..64,557.05 rows=1 width=61) (actual time=69.632..69.773 rows=267 loops=1)

2. 0.921 69.350 ↓ 267.0 267 1

HashAggregate (cost=64,557.02..64,557.03 rows=1 width=61) (actual time=69.222..69.350 rows=267 loops=1)

3. 0.469 68.429 ↓ 267.0 267 1

Nested Loop Left Join (cost=62,107.70..64,557.00 rows=1 width=61) (actual time=47.261..68.429 rows=267 loops=1)

4. 0.455 67.960 ↓ 267.0 267 1

Nested Loop (cost=62,107.70..64,556.20 rows=1 width=66) (actual time=47.255..67.960 rows=267 loops=1)

5. 0.314 66.095 ↓ 282.0 282 1

Nested Loop (cost=62,107.70..64,555.87 rows=1 width=67) (actual time=47.245..66.095 rows=282 loops=1)

6. 0.265 63.243 ↓ 40.3 282 1

Nested Loop Left Join (cost=62,107.70..64,553.60 rows=7 width=59) (actual time=47.226..63.243 rows=282 loops=1)

7. 0.320 60.722 ↓ 40.3 282 1

Nested Loop (cost=62,107.70..64,502.98 rows=7 width=47) (actual time=47.206..60.722 rows=282 loops=1)

8. 0.385 57.567 ↓ 31.5 315 1

Nested Loop (cost=62,107.70..64,429.72 rows=10 width=39) (actual time=47.150..57.567 rows=315 loops=1)

  • Join Filter: (categoriea2_.fk_metiernational = metiernati3_.id)
  • Rows Removed by Join Filter: 509
9. 0.021 0.021 ↑ 1.0 1 1

Seq Scan on metiernational metiernati3_ (cost=0.00..1.32 rows=1 width=8) (actual time=0.018..0.021 rows=1 loops=1)

  • Filter: (codemetiernational = '010'::text)
  • Rows Removed by Filter: 25
10. 0.721 57.161 ↓ 3.2 824 1

Nested Loop (cost=62,107.70..64,425.17 rows=258 width=47) (actual time=47.103..57.161 rows=824 loops=1)

11. 1.011 53.144 ↓ 3.2 824 1

Nested Loop (cost=62,107.70..64,336.16 rows=258 width=47) (actual time=47.090..53.144 rows=824 loops=1)

12. 0.632 48.013 ↓ 3.2 824 1

Hash Left Join (cost=62,107.70..62,817.94 rows=258 width=46) (actual time=47.063..48.013 rows=824 loops=1)

  • Hash Cond: (groupeclie9_.fk_groupeclientstrator = groupeclie10_.id)
  • Filter: ((groupeclie10_.id IS NULL) OR (groupeclie10_.id = ANY ('{16,56}'::bigint[])))
13. 5.561 47.337 ↑ 9.1 824 1

Hash Right Join (cost=62,105.39..62,694.08 rows=7,480 width=54) (actual time=46.987..47.337 rows=824 loops=1)

  • Hash Cond: (groupeclie9_.fk_produit = produit0_.id)
14. 4.944 4.944 ↑ 1.0 22,042 1

Seq Scan on re_produit_groupeclientstrator groupeclie9_ (cost=0.00..340.42 rows=22,042 width=16) (actual time=0.021..4.944 rows=22,042 loops=1)

15. 0.606 36.832 ↑ 9.1 824 1

Hash (cost=62,011.89..62,011.89 rows=7,480 width=46) (actual time=36.832..36.832 rows=824 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 68kB
16. 30.240 36.226 ↑ 9.1 824 1

Bitmap Heap Scan on produit produit0_ (cost=737.04..62,011.89 rows=7,480 width=46) (actual time=8.437..36.226 rows=824 loops=1)

  • Recheck Cond: ((groupeid = ANY ('{1,16844}'::integer[])) AND (datesuppression IS NULL))
  • Filter: ((NOT estproduitgenerique) AND estreference AND (fk_produitparent IS NULL) AND estactif AND ((localiteclientstrator IS NULL) OR (localiteclientstrator = 'ESPAGNE'::text)))
  • Rows Removed by Filter: 14668
17. 5.986 5.986 ↑ 1.3 15,492 1

Bitmap Index Scan on idx_groupeid_discriminator_datesuppression (cost=0.00..735.17 rows=19,811 width=0) (actual time=5.986..5.986 rows=15,492 loops=1)

  • Index Cond: ((groupeid = ANY ('{1,16844}'::integer[])) AND (datesuppression IS NULL))
18. 0.025 0.044 ↑ 1.0 58 1

Hash (cost=1.58..1.58 rows=58 width=8) (actual time=0.044..0.044 rows=58 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 3kB
19. 0.019 0.019 ↑ 1.0 58 1

Seq Scan on groupeclientstrator groupeclie10_ (cost=0.00..1.58 rows=58 width=8) (actual time=0.006..0.019 rows=58 loops=1)

20. 4.120 4.120 ↑ 1.0 1 824

Index Scan using categoriefamille_pkey on categoriefamille categorief1_ (cost=0.00..5.87 rows=1 width=17) (actual time=0.004..0.005 rows=1 loops=824)

  • Index Cond: (id = produit0_.fk_categoriefamille)
21. 3.296 3.296 ↑ 1.0 1 824

Index Scan using categoriemetier_pkey on categorieactivite categoriea2_ (cost=0.00..0.34 rows=1 width=16) (actual time=0.003..0.004 rows=1 loops=824)

  • Index Cond: (id = categorief1_.fk_categorieactivite)
22. 2.835 2.835 ↑ 1.0 1 315

Index Only Scan using idx_produit_referenceproduitfournisseur on re_produit_referenceproduitfournisseur referencep4_ (cost=0.00..7.32 rows=1 width=16) (actual time=0.009..0.009 rows=1 loops=315)

  • Index Cond: (fk_produit = produit0_.id)
  • Heap Fetches: 282
23. 2.256 2.256 ↑ 1.0 1 282

Index Scan using fk_produit_unique on stock stock8_ (cost=0.00..7.22 rows=1 width=20) (actual time=0.007..0.008 rows=1 loops=282)

  • Index Cond: (produit0_.id = fk_produit)
  • Filter: (groupeid = ANY ('{1,16844}'::integer[]))
24. 2.538 2.538 ↑ 1.0 1 282

Index Scan using referenceproduitfournisseur_pkey on referenceproduitfournisseur referencep5_ (cost=0.00..0.31 rows=1 width=24) (actual time=0.008..0.009 rows=1 loops=282)

  • Index Cond: (id = referencep4_.fk_referenceproduitfournisseur)
  • Filter: ((fk_informationreferenceerecharge IS NULL) AND (groupeid = ANY ('{1,16844}'::integer[])))
25. 1.410 1.410 ↑ 1.0 1 282

Index Scan using informationreferencetabac_pkey on informationreferencetabac informatio6_ (cost=0.00..0.32 rows=1 width=15) (actual time=0.005..0.005 rows=1 loops=282)

  • Index Cond: ((id = referencep5_.fk_informationreferencetabac) AND (id IS NOT NULL))
26. 0.000 0.000 ↓ 0.0 0 267

Index Scan using informationreferenceautre_pkey on informationreferenceautre informatio7_ (cost=0.00..0.78 rows=1 width=11) (actual time=0.000..0.000 rows=0 loops=267)

  • Index Cond: (referencep5_.fk_informationreferenceautre = id)