explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 66XK

Settings
# exclusive inclusive rows x rows loops node
1. 0.003 10,596.863 ↓ 14.0 14 1

Unique (cost=103,325.21..103,325.22 rows=1 width=4) (actual time=10,596.860..10,596.863 rows=14 loops=1)

2. 0.030 10,596.860 ↓ 14.0 14 1

Sort (cost=103,325.21..103,325.22 rows=1 width=4) (actual time=10,596.859..10,596.860 rows=14 loops=1)

  • Sort Key: h3.id_habitante
  • Sort Method: quicksort Memory: 25kB
3. 598.866 10,596.830 ↓ 14.0 14 1

Nested Loop (cost=103,316.99..103,325.20 rows=1 width=4) (actual time=5,780.298..10,596.830 rows=14 loops=1)

  • Join Filter: (ph.cd_hoja = ph_1.cd_hoja)
  • Rows Removed by Join Filter: 13042491
4. 0.643 2,766.803 ↓ 4,717.0 4,717 1

Nested Loop (cost=51,654.45..51,662.62 rows=1 width=8) (actual time=2,598.604..2,766.803 rows=4,717 loops=1)

5. 15.641 2,752.009 ↓ 4,717.0 4,717 1

Nested Loop (cost=51,654.16..51,662.21 rows=1 width=12) (actual time=2,598.599..2,752.009 rows=4,717 loops=1)

6. 30.394 2,613.236 ↓ 41,044.0 41,044 1

HashAggregate (cost=51,653.74..51,653.75 rows=1 width=12) (actual time=2,598.571..2,613.236 rows=41,044 loops=1)

7. 311.030 2,582.842 ↓ 41,694.0 41,694 1

Hash Join (cost=41,432.20..51,653.73 rows=1 width=12) (actual time=2,143.571..2,582.842 rows=41,694 loops=1)

  • Hash Cond: ((max1.max_fecha_real = h1.pos_fecha_real_ult) AND ((max1.cd_prov_ent)::text = (h1.cd_prov_ent)::text) AND ((max1.cd_mun_ent)::text = (h1.cd_mun_ent)::text) AND (max1.id_habitante = h1.id_habitante))
8. 3.742 2,166.663 ↓ 1.2 41,044 1

Subquery Scan on max1 (cost=26,808.37..29,257.82 rows=34,622 width=19) (actual time=2,038.253..2,166.663 rows=41,044 loops=1)

9. 34.872 2,162.921 ↓ 1.2 41,044 1

GroupAggregate (cost=26,808.37..28,911.60 rows=34,622 width=19) (actual time=2,038.252..2,162.921 rows=41,044 loops=1)

10. 2,042.393 2,128.049 ↑ 1.0 140,561 1

Sort (cost=26,808.37..27,159.77 rows=140,561 width=19) (actual time=2,038.192..2,128.049 rows=140,561 loops=1)

  • Sort Key: h.cd_prov_ent, h.cd_mun_ent, h.id_habitante
  • Sort Method: external merge Disk: 4672kB
11. 85.656 85.656 ↑ 1.0 140,561 1

Seq Scan on phistorico h (cost=0.00..11,905.82 rows=140,561 width=19) (actual time=0.008..85.656 rows=140,561 loops=1)

  • Filter: ((pos_fecha_real_ult <= '2019-09-02 00:00:00'::timestamp without time zone) AND ((cd_prov_ent)::text = '36'::text) AND ((cd_mun_ent)::text = '008'::text))
12. 38.566 105.149 ↑ 1.0 140,561 1

Hash (cost=10,851.61..10,851.61 rows=140,561 width=27) (actual time=105.149..105.149 rows=140,561 loops=1)

  • Buckets: 2048 Batches: 16 Memory Usage: 552kB
13. 66.583 66.583 ↑ 1.0 140,561 1

Seq Scan on phistorico h1 (cost=0.00..10,851.61 rows=140,561 width=27) (actual time=0.004..66.583 rows=140,561 loops=1)

14. 123.132 123.132 ↓ 0.0 0 41,044

Index Scan using indx_phco_id_prov_mun on phistorico h3 (cost=0.42..8.45 rows=1 width=20) (actual time=0.003..0.003 rows=0 loops=41,044)

  • Index Cond: (id_registro = (max(h1.id_registro)))
  • Filter: ((tipo_mov <> 'B'::bpchar) AND (pos_fecha_nac > '1999-03-09 00:00:00'::timestamp without time zone))
  • Rows Removed by Filter: 1
15. 14.151 14.151 ↑ 1.0 1 4,717

Index Scan using phhojapadronal_pkey on phhojapadronal ph (cost=0.29..0.40 rows=1 width=12) (actual time=0.002..0.003 rows=1 loops=4,717)

  • Index Cond: (id_registro = h3.pos_id_hoja_hist)
16. 4,478.479 7,231.161 ↓ 2,765.0 2,765 4,717

HashAggregate (cost=51,662.55..51,662.56 rows=1 width=4) (actual time=0.586..1.533 rows=2,765 loops=4,717)

  • Filter: (count(*) = 1)
  • Rows Removed by Filter: 7570
17. 15.819 2,752.682 ↓ 26,682.0 26,682 1

Nested Loop (cost=51,654.45..51,662.54 rows=1 width=4) (actual time=2,588.332..2,752.682 rows=26,682 loops=1)

18. 28.289 2,710.181 ↓ 26,682.0 26,682 1

Nested Loop (cost=51,654.16..51,662.21 rows=1 width=8) (actual time=2,588.324..2,710.181 rows=26,682 loops=1)

19. 26.915 2,599.804 ↓ 41,044.0 41,044 1

HashAggregate (cost=51,653.74..51,653.75 rows=1 width=12) (actual time=2,588.304..2,599.804 rows=41,044 loops=1)

20. 308.161 2,572.889 ↓ 41,694.0 41,694 1

Hash Join (cost=41,432.20..51,653.73 rows=1 width=12) (actual time=2,135.487..2,572.889 rows=41,694 loops=1)

  • Hash Cond: ((max1_1.max_fecha_real = h1_1.pos_fecha_real_ult) AND ((max1_1.cd_prov_ent)::text = (h1_1.cd_prov_ent)::text) AND ((max1_1.cd_mun_ent)::text = (h1_1.cd_mun_ent)::text) AND (max1_1.id_habitante = h1_1. (...)
21. 3.398 2,161.604 ↓ 1.2 41,044 1

Subquery Scan on max1_1 (cost=26,808.37..29,257.82 rows=34,622 width=19) (actual time=2,032.189..2,161.604 rows=41,044 loops=1)

22. 35.461 2,158.206 ↓ 1.2 41,044 1

GroupAggregate (cost=26,808.37..28,911.60 rows=34,622 width=19) (actual time=2,032.188..2,158.206 rows=41,044 loops=1)

23. 2,039.081 2,122.745 ↑ 1.0 140,561 1

Sort (cost=26,808.37..27,159.77 rows=140,561 width=19) (actual time=2,032.177..2,122.745 rows=140,561 loops=1)

  • Sort Key: h_1.cd_prov_ent, h_1.cd_mun_ent, h_1.id_habitante
  • Sort Method: external merge Disk: 4672kB
24. 83.664 83.664 ↑ 1.0 140,561 1

Seq Scan on phistorico h_1 (cost=0.00..11,905.82 rows=140,561 width=19) (actual time=0.007..83.664 rows=140,561 loops=1)

  • Filter: ((pos_fecha_real_ult <= '2019-09-02 00:00:00'::timestamp without time zone) AND ((cd_prov_ent)::text = '36'::text) AND ((cd_mun_ent)::text = '008'::text))
25. 37.623 103.124 ↑ 1.0 140,561 1

Hash (cost=10,851.61..10,851.61 rows=140,561 width=27) (actual time=103.124..103.124 rows=140,561 loops=1)

  • Buckets: 2048 Batches: 16 Memory Usage: 552kB
26. 65.501 65.501 ↑ 1.0 140,561 1

Seq Scan on phistorico h1_1 (cost=0.00..10,851.61 rows=140,561 width=27) (actual time=0.003..65.501 rows=140,561 loops=1)

27. 82.088 82.088 ↑ 1.0 1 41,044

Index Scan using indx_phco_id_prov_mun on phistorico h3_1 (cost=0.42..8.44 rows=1 width=16) (actual time=0.002..0.002 rows=1 loops=41,044)

  • Index Cond: (id_registro = (max(h1_1.id_registro)))
  • Filter: (tipo_mov <> 'B'::bpchar)
  • Rows Removed by Filter: 0
28. 26.682 26.682 ↑ 1.0 1 26,682

Index Scan using phhojapadronal_pkey on phhojapadronal ph_1 (cost=0.29..0.32 rows=1 width=12) (actual time=0.001..0.001 rows=1 loops=26,682)

  • Index Cond: (id_registro = h3_1.pos_id_hoja_hist)