explain.depesz.com

PostgreSQL's explain analyze made readable

Result: UJbq

Settings
# exclusive inclusive rows x rows loops node
1. 0.111 311.403 ↑ 448.6 79 1

WindowAgg (cost=115,034.09..1,504,724.84 rows=35,441 width=138) (actual time=309.337..311.403 rows=79 loops=1)

2. 0.035 309.396 ↑ 448.6 79 1

Sort (cost=115,034.09..115,122.69 rows=35,441 width=154) (actual time=309.281..309.396 rows=79 loops=1)

  • Sort Key: pro.pro_cd_produto_lmc
  • Sort Method: quicksort Memory: 36kB
3. 2.570 309.361 ↑ 448.6 79 1

HashAggregate (cost=111,557.76..112,355.97 rows=35,441 width=154) (actual time=309.002..309.361 rows=79 loops=1)

  • Group Key: pro.pro_cd_produto, pgr.pgr_cd_produto_grupo, pun.pun_cd_produto_unidade_negocio
  • Filter: ((COALESCE(sum(prm.prm_vl_quantidade_movimento), '0'::numeric) <> '0'::numeric) OR (pun.pun_fl_ativo <> 'N'::bpchar))
  • Rows Removed by Filter: 3
4. 1.502 306.791 ↑ 5.5 6,492 1

Hash Left Join (cost=70,116.75..110,404.79 rows=35,476 width=93) (actual time=236.081..306.791 rows=6,492 loops=1)

  • Hash Cond: ((lmc.lmc_cd_produto_lmc = t.cd_produto_lmc) AND (lmc.lmc_dt_lmc = t.data_ultimo_lmc))
5. 47.594 304.852 ↑ 5.5 6,492 1

Merge Right Join (cost=68,341.09..108,442.88 rows=35,476 width=97) (actual time=235.633..304.852 rows=6,492 loops=1)

  • Merge Cond: (lmc.lmc_cd_produto_lmc = pro.pro_cd_produto_lmc)
6. 175.915 175.915 ↑ 1.2 827,773 1

Index Scan using lmc_lmc_cd_produto_lmc_idx on lmc (cost=0.42..37,200.39 rows=997,988 width=8) (actual time=0.017..175.915 rows=827,773 loops=1)

7. 0.973 81.343 ↑ 1.8 6,492 1

Sort (cost=68,215.38..68,244.58 rows=11,680 width=89) (actual time=80.955..81.343 rows=6,492 loops=1)

  • Sort Key: pro.pro_cd_produto_lmc
  • Sort Method: quicksort Memory: 292kB
8. 6.674 80.370 ↑ 6.8 1,727 1

Gather (cost=1,495.57..67,426.29 rows=11,680 width=89) (actual time=38.034..80.370 rows=1,727 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
9. 0.203 73.696 ↑ 8.4 576 3 / 3

Merge Left Join (cost=495.57..65,258.29 rows=4,867 width=89) (actual time=36.077..73.696 rows=576 loops=3)

  • Merge Cond: (pro.pro_cd_produto = pro_1.pro_cd_produto)
10. 0.187 73.367 ↑ 8.4 576 3 / 3

Nested Loop Left Join (cost=1.69..64,752.20 rows=4,867 width=85) (actual time=35.950..73.367 rows=576 loops=3)

11. 0.037 72.305 ↑ 5.8 27 3 / 3

Nested Loop (cost=1.13..16,643.05 rows=156 width=72) (actual time=35.925..72.305 rows=27 loops=3)

12. 8.201 72.159 ↑ 5.8 27 3 / 3

Merge Join (cost=0.85..16,596.17 rows=156 width=60) (actual time=35.889..72.159 rows=27 loops=3)

  • Merge Cond: (pro.pro_cd_produto = pun.pun_cd_produto)
13. 63.739 63.739 ↓ 1.1 93,284 3 / 3

Parallel Index Scan using produto_pro_cd_produto_idx2 on produto pro (cost=0.42..15,520.52 rows=85,346 width=49) (actual time=0.022..63.739 rows=93,284 loops=3)

14. 0.219 0.219 ↑ 4.1 206 3 / 3

Index Scan using unidade_negocio_produto_idx on produto_unidade_negocio pun (cost=0.42..861.95 rows=838 width=15) (actual time=0.033..0.219 rows=206 loops=3)

  • Index Cond: (pun_cd_unidade_negocio = 647)
15. 0.109 0.109 ↑ 1.0 1 82 / 3

Index Scan using produto_grupo_pkey on produto_grupo pgr (cost=0.28..0.30 rows=1 width=16) (actual time=0.004..0.004 rows=1 loops=82)

  • Index Cond: (pgr_cd_produto_grupo = pro.pro_cd_produto_grupo)
16. 0.875 0.875 ↑ 47.7 21 82 / 3

Index Scan using produto_movimento_idx_produto_unidade_negocio on produto_movimento prm (cost=0.56..298.37 rows=1,002 width=17) (actual time=0.006..0.032 rows=21 loops=82)

  • Index Cond: (prm_cd_produto_unidade_negocio = pun.pun_cd_produto_unidade_negocio)
  • Filter: (prm_dt_movimento <= '2020-09-10'::date)
17. 0.004 0.126 ↑ 1.0 1 3 / 3

GroupAggregate (cost=493.88..493.90 rows=1 width=8) (actual time=0.124..0.126 rows=1 loops=3)

  • Group Key: pro_1.pro_cd_produto
18. 0.039 0.122 ↑ 1.0 1 3 / 3

Sort (cost=493.88..493.89 rows=1 width=8) (actual time=0.119..0.122 rows=1 loops=3)

  • Sort Key: pro_1.pro_cd_produto
  • Sort Method: quicksort Memory: 25kB
  • Worker 0: Sort Method: quicksort Memory: 25kB
  • Worker 1: Sort Method: quicksort Memory: 25kB
19. 0.004 0.083 ↑ 1.0 1 3 / 3

Nested Loop (cost=1.41..493.87 rows=1 width=8) (actual time=0.080..0.083 rows=1 loops=3)

20. 0.003 0.046 ↑ 2.0 1 3 / 3

Nested Loop (cost=1.14..489.35 rows=2 width=8) (actual time=0.044..0.046 rows=1 loops=3)

21. 0.028 0.028 ↑ 1.0 1 3 / 3

Index Scan using update_ven_js_dados_idx on venda ven (cost=0.56..2.79 rows=1 width=4) (actual time=0.027..0.028 rows=1 loops=3)

  • Index Cond: ((ven_cd_unidade_negocio = 647) AND (ven_dt_fiscal >= '2020-09-08'::date) AND (ven_dt_fiscal <= '2020-09-10'::date))
22. 0.015 0.015 ↑ 506.0 1 3 / 3

Index Scan using venda_item_idx_venda_rebuild_2 on venda_item vei (cost=0.57..481.50 rows=506 width=12) (actual time=0.014..0.015 rows=1 loops=3)

  • Index Cond: (vei_cd_venda = ven.ven_cd_venda)
23. 0.033 0.033 ↑ 1.0 1 3 / 3

Index Only Scan using produto_pro_cd_produto_idx on produto pro_1 (cost=0.28..2.26 rows=1 width=4) (actual time=0.033..0.033 rows=1 loops=3)

  • Index Cond: (pro_cd_produto = vei.vei_cd_produto)
  • Heap Fetches: 3
24. 0.003 0.437 ↑ 191.8 4 1

Hash (cost=1,764.16..1,764.16 rows=767 width=8) (actual time=0.436..0.437 rows=4 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
25. 0.002 0.434 ↑ 191.8 4 1

Subquery Scan on t (cost=1,748.82..1,764.16 rows=767 width=8) (actual time=0.431..0.434 rows=4 loops=1)

26. 0.158 0.432 ↑ 191.8 4 1

HashAggregate (cost=1,748.82..1,756.49 rows=767 width=8) (actual time=0.430..0.432 rows=4 loops=1)

  • Group Key: lmc_1.lmc_cd_produto_lmc
27. 0.274 0.274 ↑ 1.3 1,232 1

Index Scan using lmc_lmc_cd_unidade_negocio_idx on lmc lmc_1 (cost=0.42..1,740.58 rows=1,647 width=8) (actual time=0.012..0.274 rows=1,232 loops=1)

  • Index Cond: (lmc_cd_unidade_negocio = 647)
  • Filter: (lmc_dt_lmc <= '2020-09-10'::date)
28.          

SubPlan (for WindowAgg)

29. 0.000 1.896 ↓ 0.0 0 79

Limit (cost=39.18..39.19 rows=1 width=10) (actual time=0.024..0.024 rows=0 loops=79)

30. 0.079 1.896 ↓ 0.0 0 79

Sort (cost=39.18..39.19 rows=1 width=10) (actual time=0.024..0.024 rows=0 loops=79)

  • Sort Key: alp.alp_dt_alteracao DESC
  • Sort Method: quicksort Memory: 25kB
31. 0.127 1.817 ↓ 2.0 2 79

Nested Loop (cost=0.84..39.17 rows=1 width=10) (actual time=0.009..0.023 rows=2 loops=79)

32. 0.474 0.474 ↑ 1.4 8 79

Index Scan using altera_preco_produto_idx_produto on altera_preco_produto app (cost=0.42..10.09 rows=11 width=10) (actual time=0.003..0.006 rows=8 loops=79)

  • Index Cond: (app_cd_produto = pro.pro_cd_produto)
33. 1.216 1.216 ↓ 0.0 0 608

Index Scan using altera_preco_pkey on altera_preco alp (cost=0.42..2.64 rows=1 width=8) (actual time=0.002..0.002 rows=0 loops=608)

  • Index Cond: (alp_cd_altera_preco = app.app_cd_altera_preco)
  • Filter: ((alp_dt_alteracao <= '2020-09-10'::date) AND (alp_cd_unidade_negocio = 647))
  • Rows Removed by Filter: 1
Planning time : 5.119 ms
Execution time : 311.897 ms