explain.depesz.com

PostgreSQL's explain analyze made readable

Result: dRAT

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

HashAggregate (cost=21,362.66..21,369.04 rows=319 width=48) (actual rows= loops=)

  • Group Key: (((((round((random() * '50'::double precision)) + '1950'::double precision)))::text || ' - '::text) || a.libelle)
2. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=238.23..21,298.60 rows=5,125 width=40) (actual rows= loops=)

  • Hash Cond: (v.appellation_id = a.id)
3. 0.000 0.000 ↓ 0.0

Hash Join (cost=228.06..21,223.54 rows=5,125 width=20) (actual rows= loops=)

  • Hash Cond: (s.vin_id = v.id)
4. 0.000 0.000 ↓ 0.0

Hash Join (cost=37.04..21,019.07 rows=5,125 width=20) (actual rows= loops=)

  • Hash Cond: (s.contenant_id = c.id)
5. 0.000 0.000 ↓ 0.0

Hash Join (cost=0.04..20,968.57 rows=5,125 width=20) (actual rows= loops=)

  • Hash Cond: ((s.annee)::double precision = ((round((random() * '50'::double precision)) + '1950'::double precision)))
6. 0.000 0.000 ↓ 0.0

Seq Scan on stock s (cost=0.00..15,791.85 rows=1,025,085 width=16) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash (cost=0.03..0.03 rows=1 width=8) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Result (cost=0.00..0.02 rows=1 width=8) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Hash (cost=22.00..22.00 rows=1,200 width=8) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Seq Scan on contenant c (cost=0.00..22.00 rows=1,200 width=8) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Hash (cost=105.45..105.45 rows=6,845 width=8) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Seq Scan on vin v (cost=0.00..105.45 rows=6,845 width=8) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Hash (cost=6.19..6.19 rows=319 width=36) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Seq Scan on appellation a (cost=0.00..6.19 rows=319 width=36) (actual rows= loops=)