explain.depesz.com

PostgreSQL's explain analyze made readable

Result: jFVr : Optimization for: Optimization for: plan #RFZW; plan #tvHv

Settings

Optimization path:

# exclusive inclusive rows x rows loops node
1. 0.847 367.427 ↓ 40.0 40 1

Subquery Scan on r (cost=2,211.72..2,317.18 rows=1 width=1,074) (actual time=339.614..367.427 rows=40 loops=1)

2. 0.091 337.940 ↓ 40.0 40 1

Limit (cost=2,211.72..2,211.77 rows=1 width=807) (actual time=337.751..337.940 rows=40 loops=1)

3. 18.213 337.849 ↓ 9.6 240 1

WindowAgg (cost=2,210.41..2,211.72 rows=25 width=807) (actual time=337.540..337.849 rows=240 loops=1)

4. 7.362 319.636 ↓ 267.2 6,679 1

Group (cost=2,210.41..2,211.41 rows=25 width=758) (actual time=310.142..319.636 rows=6,679 loops=1)

  • Group Key: trp."trpID", tpe."tpeID", tcl."tclID", tos."tosID", tpc."tpcID", tcb."tcbID", tbc."tbcID", tba."tbaID", trec."trecID", ttb."ttbID", trem."tremID", tfu."tfuID", tpe_funcionario."tpeID", tct."tctID", tlsos."tlsosSituacao
5. 12.697 312.274 ↓ 267.2 6,679 1

Sort (cost=2,210.41..2,210.47 rows=25 width=758) (actual time=310.138..312.274 rows=6,679 loops=1)

  • Sort Key: trp."trpID", tpe."tpeID", tcl."tclID", tos."tosID", tpc."tpcID", tcb."tcbID", tbc."tbcID", tba."tbaID", trec."trecID", ttb."ttbID", trem."tremID", tfu."tfuID", tpe_funcionario."tpeID", tct."tctID", tlsos."tlsosSituacao
  • Sort Method: quicksort Memory: 3622kB
6. 4.945 299.577 ↓ 267.2 6,679 1

Hash Left Join (cost=247.81..2,209.83 rows=25 width=758) (actual time=3.713..299.577 rows=6,679 loops=1)

  • Hash Cond: (tcfos."tcfosID" = tct."tcttcfosID")
7. 4.681 294.352 ↓ 267.2 6,679 1

Hash Left Join (cost=221.95..2,183.59 rows=25 width=740) (actual time=3.427..294.352 rows=6,679 loops=1)

  • Hash Cond: (tos."tosID" = tcfos."tcfostosID")
8. 8.211 289.471 ↓ 267.2 6,679 1

Nested Loop Left Join (cost=211.08..2,172.61 rows=25 width=736) (actual time=3.220..289.471 rows=6,679 loops=1)

9. 8.744 281.260 ↓ 267.2 6,679 1

Nested Loop Left Join (cost=210.80..2,164.54 rows=25 width=727) (actual time=3.219..281.260 rows=6,679 loops=1)

10. 12.622 272.516 ↓ 267.2 6,679 1

Nested Loop Left Join (cost=210.67..2,160.37 rows=25 width=695) (actual time=3.216..272.516 rows=6,679 loops=1)

  • Join Filter: (tba."tbaID" = tbc."tbctbaID")
  • Rows Removed by Join Filter: 20494
11. 7.078 253.215 ↓ 267.2 6,679 1

Nested Loop Left Join (cost=210.67..2,157.82 rows=25 width=691) (actual time=3.210..253.215 rows=6,679 loops=1)

  • Join Filter: (tbc."tbcID" = tcb."tcbtbcID")
  • Rows Removed by Join Filter: 7136
12. 7.085 239.458 ↓ 267.2 6,679 1

Nested Loop Left Join (cost=210.67..2,156.05 rows=25 width=655) (actual time=3.202..239.458 rows=6,679 loops=1)

13. 9.923 219.015 ↓ 267.2 6,679 1

Nested Loop (cost=210.53..2,151.94 rows=25 width=475) (actual time=3.195..219.015 rows=6,679 loops=1)

14. 5.463 122.265 ↓ 109.5 6,679 1

Nested Loop (cost=210.25..2,083.28 rows=61 width=437) (actual time=3.162..122.265 rows=6,679 loops=1)

15. 3.669 86.022 ↓ 60.0 3,420 1

Nested Loop (cost=209.96..1,966.83 rows=57 width=143) (actual time=3.115..86.022 rows=3,420 loops=1)

16. 3.166 75.513 ↓ 60.0 3,420 1

Nested Loop Left Join (cost=209.68..1,946.86 rows=57 width=139) (actual time=3.110..75.513 rows=3,420 loops=1)

17. 2.704 65.507 ↓ 60.0 3,420 1

Nested Loop Left Join (cost=209.39..1,719.24 rows=57 width=119) (actual time=3.106..65.507 rows=3,420 loops=1)

18. 4.774 55.963 ↓ 60.0 3,420 1

Nested Loop Left Join (cost=209.12..1,701.63 rows=57 width=115) (actual time=3.103..55.963 rows=3,420 loops=1)

19. 4.196 44.349 ↓ 60.0 3,420 1

Nested Loop (cost=208.83..1,642.41 rows=57 width=81) (actual time=3.097..44.349 rows=3,420 loops=1)

20. 3.773 33.313 ↓ 60.0 3,420 1

Hash Join (cost=208.55..1,613.52 rows=57 width=62) (actual time=3.091..33.313 rows=3,420 loops=1)

  • Hash Cond: (tlsos."tlsostosID" = trec."trectosID")
21. 4.877 26.485 ↓ 60.9 4,994 1

Subquery Scan on tlsos (cost=0.29..1,403.97 rows=82 width=8) (actual time=0.018..26.485 rows=4,994 loops=1)

  • Filter: (tlsos.rr = 1)
  • Rows Removed by Filter: 11378
22. 13.739 21.608 ↑ 1.0 16,372 1

WindowAgg (cost=0.29..1,198.93 rows=16,403 width=20) (actual time=0.015..21.608 rows=16,372 loops=1)

23. 7.869 7.869 ↑ 1.0 16,372 1

Index Scan using idx_tlsos_tlsostosdesc on "TabLogSituacaoOrdemServico" (cost=0.29..911.88 rows=16,403 width=12) (actual time=0.010..7.869 rows=16,372 loops=1)

24. 1.302 3.055 ↑ 1.0 3,420 1

Hash (cost=165.10..165.10 rows=3,453 width=54) (actual time=3.055..3.055 rows=3,420 loops=1)

  • Buckets: 4096 Batches: 1 Memory Usage: 317kB
25. 1.753 1.753 ↑ 1.0 3,437 1

Seq Scan on "TabReceita" trec (cost=0.00..165.10 rows=3,453 width=54) (actual time=0.020..1.753 rows=3,437 loops=1)

  • Filter: ("trectemID" = 1)
  • Rows Removed by Filter: 2910
26. 6.840 6.840 ↑ 1.0 1 3,420

Index Scan using "TabOrdemServico_tosID" on "TabOrdemServico" tos (cost=0.28..0.50 rows=1 width=27) (actual time=0.002..0.002 rows=1 loops=3,420)

  • Index Cond: ("tosID" = trec."trectosID")
27. 6.840 6.840 ↑ 1.0 1 3,420

Index Scan using "TabPropostaComercial_tpcID" on "TabPropostaComercial" tpc (cost=0.28..1.03 rows=1 width=38) (actual time=0.002..0.002 rows=1 loops=3,420)

  • Index Cond: ("tpcID" = tos."tostpcID")
28. 6.840 6.840 ↑ 1.0 1 3,420

Index Scan using "TabFuncionario_tfuID" on "TabFuncionario" tfu (cost=0.27..0.30 rows=1 width=8) (actual time=0.001..0.002 rows=1 loops=3,420)

  • Index Cond: ("tfuID" = tpc."tpctfuID")
29. 6.840 6.840 ↑ 1.0 1 3,420

Index Scan using "TabPessoaID" on "TabPessoa" tpe_funcionario (cost=0.29..3.98 rows=1 width=24) (actual time=0.002..0.002 rows=1 loops=3,420)

  • Index Cond: ("tpeID" = tfu."tfutpeID")
30. 6.840 6.840 ↑ 1.0 1 3,420

Index Scan using "TabCliente_tclID" on "TabCliente" tcl (cost=0.28..0.34 rows=1 width=8) (actual time=0.002..0.002 rows=1 loops=3,420)

  • Index Cond: ("tclID" = trec."trectclID")
31. 30.780 30.780 ↓ 2.0 2 3,420

Index Scan using idx_trp_trecid_trpsubstituida on "TabReceitaParcela" trp (cost=0.29..2.03 rows=1 width=294) (actual time=0.006..0.009 rows=2 loops=3,420)

  • Index Cond: (("trptrecID" = trec."trecID") AND ("trpSubstituida" = false))
  • Filter: ((NOT "trpBaixada") AND (NOT "trpSubstituida") AND (NOT "trpPago") AND (NOT "trpEmitidoRemessa") AND ("trpIsExcluido" IS FALSE))
  • Rows Removed by Filter: 9
32. 86.827 86.827 ↑ 1.0 1 6,679

Index Scan using "TabPessoaID" on "TabPessoa" tpe (cost=0.29..1.12 rows=1 width=42) (actual time=0.013..0.013 rows=1 loops=6,679)

  • Index Cond: ("tpeID" = tcl."tcltpeID")
  • Filter: (("tpeCNPJCPF" ~~* '%%'::text) AND (proc_common_remove_acento("tpeNome") ~~* '%%'::text))
33. 13.358 13.358 ↑ 1.0 1 6,679

Index Scan using "TabContaBancaria_tcbID" on "TabContaBancaria" tcb (cost=0.14..0.15 rows=1 width=184) (actual time=0.001..0.002 rows=1 loops=6,679)

  • Index Cond: ("tcbID" = trp."trptcbID")
34. 6.675 6.679 ↑ 1.0 2 6,679

Materialize (cost=0.00..1.03 rows=2 width=40) (actual time=0.000..0.001 rows=2 loops=6,679)

35. 0.004 0.004 ↑ 1.0 2 1

Seq Scan on "TabBancoCarteira" tbc (cost=0.00..1.02 rows=2 width=40) (actual time=0.004..0.004 rows=2 loops=1)

36. 6.674 6.679 ↑ 1.0 4 6,679

Materialize (cost=0.00..1.06 rows=4 width=8) (actual time=0.000..0.001 rows=4 loops=6,679)

37. 0.005 0.005 ↑ 1.0 4 1

Seq Scan on "TabBanco" tba (cost=0.00..1.04 rows=4 width=8) (actual time=0.002..0.005 rows=4 loops=1)

38. 0.000 0.000 ↓ 0.0 0 6,679

Index Scan using "TabTipoBaixa_ttbID" on "TabTipoBaixa" ttb (cost=0.14..0.16 rows=1 width=36) (actual time=0.000..0.000 rows=0 loops=6,679)

  • Index Cond: ("ttbID" = trp."trpTipoBaixa")
39. 0.000 0.000 ↓ 0.0 0 6,679

Index Scan using "TabRemessa_tremID" on "TabRemessa" trem (cost=0.28..0.31 rows=1 width=13) (actual time=0.000..0.000 rows=0 loops=6,679)

  • Index Cond: ("tremID" = trp."trptremID")
40. 0.086 0.200 ↓ 1.1 324 1

Hash (cost=7.05..7.05 rows=305 width=8) (actual time=0.200..0.200 rows=324 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 21kB
41. 0.114 0.114 ↓ 1.1 324 1

Seq Scan on "TabCicloFaturamentoOS" tcfos (cost=0.00..7.05 rows=305 width=8) (actual time=0.004..0.114 rows=324 loops=1)

42. 0.107 0.280 ↓ 1.0 313 1

Hash (cost=22.05..22.05 rows=305 width=26) (actual time=0.279..0.280 rows=313 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 26kB
43. 0.173 0.173 ↓ 1.0 313 1

Seq Scan on "TabCycleTransaction" tct (cost=0.00..22.05 rows=305 width=26) (actual time=0.003..0.173 rows=313 loops=1)

44.          

SubPlan (forSubquery Scan)

45. 0.160 0.160 ↑ 1.0 1 40

Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.004..0.004 rows=1 loops=40)

46. 0.040 0.040 ↑ 1.0 1 40

Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.000..0.001 rows=1 loops=40)

47. 0.040 0.040 ↑ 1.0 1 40

Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.001..0.001 rows=1 loops=40)

48. 0.280 1.240 ↑ 1.0 1 40

Aggregate (cost=30.30..30.31 rows=1 width=8) (actual time=0.031..0.031 rows=1 loops=40)

49. 0.960 0.960 ↓ 2.0 20 40

Index Scan using idx_trp_trecid_trpsubstituida on "TabReceitaParcela" (cost=0.29..30.27 rows=10 width=4) (actual time=0.008..0.024 rows=20 loops=40)

  • Index Cond: (("trptrecID" = r."trecID") AND ("trpSubstituida" = false))
  • Filter: (("trpSubstituida" IS FALSE) AND ("trptrpOriundaID" IS NULL) AND (NOT "trpIsExcluido"))
  • Rows Removed by Filter: 0
50. 0.040 0.040 ↑ 1.0 1 40

Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.000..0.001 rows=1 loops=40)

51. 0.040 0.040 ↑ 1.0 1 40

Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.000..0.001 rows=1 loops=40)

52. 0.160 0.160 ↑ 1.0 1 40

Result (cost=0.00..0.02 rows=1 width=32) (actual time=0.004..0.004 rows=1 loops=40)

53. 0.120 0.120 ↑ 1.0 1 40

Result (cost=0.00..0.02 rows=1 width=32) (actual time=0.003..0.003 rows=1 loops=40)

54. 0.040 0.160 ↑ 1.0 1 40

Aggregate (cost=13.65..13.66 rows=1 width=8) (actual time=0.004..0.004 rows=1 loops=40)

55. 0.120 0.120 ↓ 0.0 0 40

Index Scan using idx_tcdcli_tcdclitrpid on "TabClienteDocumento" (cost=0.29..13.64 rows=3 width=4) (actual time=0.003..0.003 rows=0 loops=40)

  • Index Cond: ("tcdclitrpID" = r."trpID")
56. 1.240 1.240 ↑ 1,000.0 1 40

Function Scan on proc_comercial_gettipospagamento (cost=0.25..10.25 rows=1,000 width=32) (actual time=0.031..0.031 rows=1 loops=40)

57. 0.080 2.160 ↓ 0.0 0 40

Limit (cost=0.29..15.15 rows=1 width=4) (actual time=0.054..0.054 rows=0 loops=40)

58. 0.040 2.080 ↓ 0.0 0 40

Nested Loop (cost=0.29..15.15 rows=1 width=4) (actual time=0.052..0.052 rows=0 loops=40)

  • Join Filter: (tcd."tcdDocumento" = tdc."tdcdocID")
59. 1.880 1.880 ↓ 2.0 2 40

Seq Scan on "TabDocumentoCliente" tdc (cost=0.00..1.48 rows=1 width=4) (actual time=0.008..0.047 rows=2 loops=40)

  • Filter: ("tdcdocValor" ~~* 'comprovante_pagamento%'::text)
  • Rows Removed by Filter: 36
60. 0.160 0.160 ↓ 0.0 0 80

Index Scan using idx_tcdcli_tcdclitrpid on "TabClienteDocumento" tcd (cost=0.29..13.64 rows=3 width=8) (actual time=0.002..0.002 rows=0 loops=80)

  • Index Cond: ("tcdclitrpID" = r."trpID")
61. 0.040 1.560 ↓ 0.0 0 40

Limit (cost=0.29..15.15 rows=1 width=4) (actual time=0.039..0.039 rows=0 loops=40)

62. 0.080 1.520 ↓ 0.0 0 40

Nested Loop (cost=0.29..15.15 rows=1 width=4) (actual time=0.038..0.038 rows=0 loops=40)

  • Join Filter: (tcd_1."tcdDocumento" = tdc_1."tdcdocID")
63. 1.360 1.360 ↓ 2.0 2 40

Seq Scan on "TabDocumentoCliente" tdc_1 (cost=0.00..1.48 rows=1 width=4) (actual time=0.030..0.034 rows=2 loops=40)

  • Filter: ("tdcdocValor" ~~* 'nfse%'::text)
  • Rows Removed by Filter: 36
64. 0.080 0.080 ↓ 0.0 0 80

Index Scan using idx_tcdcli_tcdclitrpid on "TabClienteDocumento" tcd_1 (cost=0.29..13.64 rows=3 width=8) (actual time=0.001..0.001 rows=0 loops=80)

  • Index Cond: ("tcdclitrpID" = r."trpID")
65. 1.880 1.880 ↑ 1.0 1 40

Function Scan on proc_common_countbusinessdays (cost=0.25..0.26 rows=1 width=8) (actual time=0.046..0.047 rows=1 loops=40)

66. 17.720 17.720 ↑ 1,000.0 1 40

Function Scan on proc_common_getnetxbusinessdays (cost=0.25..10.25 rows=1,000 width=32) (actual time=0.442..0.443 rows=1 loops=40)

67. 2.080 2.080 ↑ 1,000.0 1 40

Function Scan on proc_comercial_getsituacoesordensservico (cost=0.25..10.25 rows=1,000 width=32) (actual time=0.052..0.052 rows=1 loops=40)

Planning time : 9.631 ms
Execution time : 369.085 ms