explain.depesz.com

PostgreSQL's explain analyze made readable

Result: RFZW

Settings

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 0.890 384.864 ↓ 40.0 40 1

Subquery Scan on r (cost=2,211.72..2,520.98 rows=1 width=1,082) (actual time=328.650..384.864 rows=40 loops=1)

2. 0.100 326.214 ↓ 40.0 40 1

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

3. 7.263 326.114 ↓ 9.6 240 1

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

4. 7.511 318.851 ↓ 267.2 6,679 1

Group (cost=2,210.41..2,211.41 rows=25 width=758) (actual time=309.110..318.851 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.569 311.340 ↓ 267.2 6,679 1

Sort (cost=2,210.41..2,210.47 rows=25 width=758) (actual time=309.105..311.340 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.853 298.771 ↓ 267.2 6,679 1

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

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

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

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

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

9. 8.479 280.137 ↓ 267.2 6,679 1

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

10. 13.547 271.658 ↓ 267.2 6,679 1

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

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

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

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

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

13. 5.841 216.594 ↓ 267.2 6,679 1

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

14. 5.742 123.926 ↓ 109.5 6,679 1

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

15. 3.805 87.404 ↓ 60.0 3,420 1

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

16. 3.107 76.759 ↓ 60.0 3,420 1

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

17. 2.661 66.812 ↓ 60.0 3,420 1

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

18. 4.984 57.311 ↓ 60.0 3,420 1

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

19. 4.185 45.487 ↓ 60.0 3,420 1

Nested Loop Left Join (cost=208.83..1,642.41 rows=57 width=81) (actual time=3.191..45.487 rows=3,420 loops=1)

20. 3.976 34.462 ↓ 60.0 3,420 1

Hash Join (cost=208.55..1,613.52 rows=57 width=58) (actual time=3.184..34.462 rows=3,420 loops=1)

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

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

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

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

23. 8.219 8.219 ↑ 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.011..8.219 rows=16,372 loops=1)

24. 1.358 3.130 ↑ 1.0 3,420 1

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

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

Seq Scan on "TabReceita" trec (cost=0.00..165.10 rows=3,453 width=54) (actual time=0.009..1.772 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.001..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.012..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.674 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.005 0.005 ↑ 1.0 2 1

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

36. 6.676 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.003 0.003 ↑ 1.0 4 1

Seq Scan on "TabBanco" tba (cost=0.00..1.04 rows=4 width=8) (actual time=0.002..0.003 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.101 0.209 ↓ 1.1 324 1

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

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

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

42. 0.103 0.279 ↓ 1.0 313 1

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

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

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

44.          

SubPlan (forSubquery Scan)

45. 0.200 0.200 ↑ 1.0 1 40

Result (cost=0.00..0.01 rows=1 width=32) (actual time=0.004..0.005 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.320 1.120 ↑ 1.0 1 40

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

49. 0.800 0.800 ↓ 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.007..0.020 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.001..0.001 rows=1 loops=40)

52. 0.200 0.200 ↑ 1.0 1 40

Result (cost=0.00..0.02 rows=1 width=32) (actual time=0.004..0.005 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.080 0.200 ↑ 1.0 1 40

Aggregate (cost=13.65..13.66 rows=1 width=8) (actual time=0.005..0.005 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.200 1.200 ↑ 1,000.0 1 40

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

57. 0.080 2.120 ↓ 0.0 0 40

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

58. 0.080 2.040 ↓ 0.0 0 40

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

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

Seq Scan on "TabDocumentoCliente" tdc (cost=0.00..1.48 rows=1 width=4) (actual time=0.007..0.045 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.029..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.800 1.800 ↑ 1.0 1 40

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

66. 17.880 17.880 ↑ 1,000.0 1 40

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

67. 0.120 28.880 ↑ 1.0 1 40

Aggregate (cost=203.78..203.79 rows=1 width=8) (actual time=0.722..0.722 rows=1 loops=40)

68. 0.120 28.760 ↑ 1.0 2 40

Nested Loop (cost=0.57..203.78 rows=2 width=4) (actual time=0.398..0.719 rows=2 loops=40)

69. 0.120 27.920 ↑ 1.0 1 40

Nested Loop (cost=0.28..173.41 rows=1 width=4) (actual time=0.388..0.698 rows=1 loops=40)

70. 27.600 27.600 ↑ 1.0 1 40

Seq Scan on "TabReceita" trec_1 (cost=0.00..165.10 rows=1 width=8) (actual time=0.380..0.690 rows=1 loops=40)

  • Filter: ("trectosID" = r."tosID")
  • Rows Removed by Filter: 6346
71. 0.200 0.200 ↑ 1.0 1 40

Index Only Scan using "TabOrdemServico_tosID" on "TabOrdemServico" tos_1 (cost=0.28..8.30 rows=1 width=4) (actual time=0.004..0.005 rows=1 loops=40)

  • Index Cond: ("tosID" = r."tosID")
  • Heap Fetches: 0
72. 0.720 0.720 ↑ 1.0 2 40

Index Scan using idx_trp_trecid_trpsubstituida on "TabReceitaParcela" trp_1 (cost=0.29..30.35 rows=2 width=8) (actual time=0.008..0.018 rows=2 loops=40)

  • Index Cond: (("trptrecID" = trec_1."trecID") AND ("trpSubstituida" = false))
  • Filter: (("trpPago" IS FALSE) AND ("trpBaixada" IS FALSE) AND ("trpSubstituida" IS FALSE) AND (('now'::cstring)::date > "trpDataVencimento"))
  • Rows Removed by Filter: 18
73. 2.320 2.320 ↑ 1,000.0 1 40

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

Planning time : 8.930 ms
Execution time : 386.637 ms