explain.depesz.com

PostgreSQL's explain analyze made readable

Result: eCp3

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

Sort (cost=46,407.76..46,407.76 rows=1 width=396) (actual rows= loops=)

  • Sort Key: proprietaire.ddenom, (row_number() OVER (?))
2. 0.000 0.000 ↓ 0.0

WindowAgg (cost=46,407.69..46,407.75 rows=1 width=396) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Sort (cost=46,407.69..46,407.69 rows=1 width=676) (actual rows= loops=)

  • Sort Key: localisant.id_complet, proprietaire.ddenom
4. 0.000 0.000 ↓ 0.0

Gather (cost=1,085.13..46,407.68 rows=1 width=676) (actual rows= loops=)

  • Workers Planned: 1
5. 0.000 0.000 ↓ 0.0

Hash Join (cost=85.13..45,407.58 rows=1 width=676) (actual rows= loops=)

  • Hash Cond: (((comptecommunal.ccodep)::text = (parcelle_cadastre.ccodep)::text) AND ((comptecommunal.ccocom)::text = (parcelle_cadastre.ccocom)::text) AND ((comptecommunal.dnupro)::text = (parcelle_cadastre.dnupro)::text))
6. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on comptecommunal (cost=0.00..32,173.21 rows=1,168,821 width=22) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash (cost=85.11..85.11 rows=1 width=689) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=77.87..85.11 rows=1 width=689) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.28..7.40 rows=1 width=370) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.85..5.55 rows=1 width=367) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Index Scan using localisant_geometrie_gist on localisant (cost=0.41..2.89 rows=1 width=51) (actual rows= loops=)

  • Index Cond: (geometrie && '01030000206A08000001000000050000002C7F9878FAE32641A664984BD8EB57412C7F9878FAE32641A7A94C673FEC57417D3B7A4107E82641A7A94C673FEC57417D3B7A4107E82641A664984BD8EB57412C7F9878FAE32641A664984BD8EB5741'::geometry)
  • Filter: (('01060000206A0800000100000001030000000100000005000000511A589753E52641A66498CBE4EB57412C7F98785EE426416201213015EC5741DA0721367FE62641A7A94CE732EC57417D3B7A41A3E72641767D349601EC5741511A589753E52641A66498CBE4EB5741'::geometry && st_expand(geometrie, '50'::double precision)) AND _st_dwithin('01060000206A0800000100000001030000000100000005000000511A589753E52641A66498CBE4EB57412C7F98785EE426416201213015EC5741DA0721367FE62641A7A94CE732EC57417D3B7A41A3E72641767D349601EC5741511A589753E52641A66498CBE4EB5741'::geometry, geometrie, '50'::double precision))
12. 0.000 0.000 ↓ 0.0

Index Scan using parc_unique_id_parcelle on parcelle parc (cost=0.43..2.65 rows=1 width=316) (actual rows= loops=)

  • Index Cond: ((id_complet)::text = (localisant.id_complet)::text)
13. 0.000 0.000 ↓ 0.0

Index Scan using idx_parcelle_id_complet on parcelle parcelle_cadastre (cost=0.43..1.84 rows=1 width=33) (actual rows= loops=)

  • Index Cond: ((id_complet)::text = (parc.id_complet)::text)
14. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on proprietaire (cost=76.59..77.70 rows=1 width=319) (actual rows= loops=)

  • Recheck Cond: (((dnupro)::text = (parcelle_cadastre.dnupro)::text) AND ((ccocom)::text = (parcelle_cadastre.ccocom)::text))
  • Filter: ((parcelle_cadastre.ccodep)::text = (ccodep)::text)
15. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=76.59..76.59 rows=1 width=0) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on proprietaire_dnupro_idx (cost=0.00..1.98 rows=115 width=0) (actual rows= loops=)

  • Index Cond: ((dnupro)::text = (parcelle_cadastre.dnupro)::text)
17. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on idx_proprietaire_ccocom (cost=0.00..74.36 rows=7,839 width=0) (actual rows= loops=)