explain.depesz.com

PostgreSQL's explain analyze made readable

Result: wD5w

Settings
# exclusive inclusive rows x rows loops node
1. 0.344 908.197 ↑ 1.0 1 1

Aggregate (cost=48,403.85..48,403.86 rows=1 width=8) (actual time=908.195..908.197 rows=1 loops=1)

2. 0.306 907.853 ↓ 47.0 47 1

Nested Loop (cost=3,971.69..48,403.84 rows=1 width=12) (actual time=762.279..907.853 rows=47 loops=1)

3. 0.302 907.265 ↓ 47.0 47 1

Nested Loop (cost=3,971.56..48,403.69 rows=1 width=16) (actual time=762.259..907.265 rows=47 loops=1)

4. 0.299 906.634 ↓ 47.0 47 1

Nested Loop (cost=3,971.28..48,403.39 rows=1 width=20) (actual time=762.240..906.634 rows=47 loops=1)

5. 0.284 905.959 ↓ 47.0 47 1

Nested Loop (cost=3,971.01..48,403.10 rows=1 width=24) (actual time=762.215..905.959 rows=47 loops=1)

6. 0.268 905.346 ↓ 47.0 47 1

Nested Loop (cost=3,970.87..48,402.94 rows=1 width=28) (actual time=762.193..905.346 rows=47 loops=1)

7. 0.272 904.749 ↓ 47.0 47 1

Nested Loop (cost=3,970.74..48,402.79 rows=1 width=32) (actual time=762.170..904.749 rows=47 loops=1)

8. 0.313 903.960 ↓ 47.0 47 1

Nested Loop (cost=3,970.45..48,402.44 rows=1 width=36) (actual time=762.145..903.960 rows=47 loops=1)

9. 0.309 903.365 ↓ 47.0 47 1

Nested Loop (cost=3,970.17..48,402.15 rows=1 width=40) (actual time=762.123..903.365 rows=47 loops=1)

10. 0.308 902.633 ↓ 47.0 47 1

Nested Loop (cost=3,969.89..48,401.86 rows=1 width=44) (actual time=762.098..902.633 rows=47 loops=1)

11. 0.611 901.855 ↓ 47.0 47 1

Nested Loop (cost=3,969.61..48,401.52 rows=1 width=48) (actual time=762.066..901.855 rows=47 loops=1)

  • Join Filter: (((matricula.gradecurricularatual = historico.matrizcurricular) AND ((historico.historicocursandoporcorrespondenciaapostransferencia IS NULL) OR (NOT historico.historicocursandoporcorrespondenciaapostransferencia)) AND ((historico.transferenciamatrizcurricularmatricula IS NULL) OR ((historico.transferenciamatrizcurricularmatricula IS NOT NULL) AND (NOT (SubPlan 4))))) OR ((matricula.gradecurricularatual <> historico.matrizcurricular) AND historico.historicocursandoporcorrespondenciaapostransferencia AND (historico.transferenciamatrizcurricularmatricula IS NOT NULL) AND (historico.disciplina = (SubPlan 5)) AND ((NOT historico.historicoporequivalencia) OR (historico.historicoporequivalencia IS NULL))) OR ((matricula.gradecurricularatual <> historico.matrizcurricular) AND historico.historicoequivalente AND (SubPlan 6)) OR ((historico.matrizcurricular = matriculaperiodo.gradecurricular) AND (matricula.gradecurricularatual <> historico.matrizcurricular) AND historico.historicodisciplinafazpartecomposicao AND (NOT (SubPlan 7))))
  • Rows Removed by Join Filter: 9
12. 0.000 896.366 ↓ 57.0 57 1

Nested Loop (cost=3,969.32..48,247.79 rows=1 width=69) (actual time=555.727..896.366 rows=57 loops=1)

13. 78.950 923.428 ↓ 318.7 4,462 1

Gather (cost=3,968.90..46,112.74 rows=14 width=73) (actual time=149.137..923.428 rows=4,462 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
14. 10.213 844.478 ↓ 247.8 1,487 3

Parallel Hash Join (cost=2,968.90..45,111.34 rows=6 width=73) (actual time=121.795..844.478 rows=1,487 loops=3)

  • Hash Cond: (((historico.matricula)::text = (matriculaperiodo.matricula)::text) AND (historico.matriculaperiodo = matriculaperiodo.codigo))
15. 714.125 714.658 ↑ 123.4 1,487 3

Parallel Seq Scan on historico (cost=15.82..41,194.82 rows=183,514 width=81) (actual time=1.018..714.658 rows=1,487 loops=3)

  • Filter: (((historicoporequivalencia IS NULL) OR (NOT historicoporequivalencia)) AND ((historicodisciplinacomposta IS NULL) OR (NOT historicodisciplinacomposta)) AND ((((historicocursandoporcorrespondenciaapostransferencia IS NULL) OR (NOT historicocursandoporcorrespondenciaapostransferencia)) AND ((transferenciamatrizcurricularmatricula IS NULL) OR (transferenciamatrizcurricularmatricula IS NOT NULL))) OR (historicocursandoporcorrespondenciaapostransferencia AND (transferenciamatrizcurricularmatricula IS NOT NULL) AND ((NOT historicoporequivalencia) OR (historicoporequivalencia IS NULL))) OR historicoequivalente OR historicodisciplinafazpartecomposicao) AND ((situacao)::text <> ALL ('{AA,CC,CH,IS}'::text[])) AND ((disciplina = 232) OR (hashed SubPlan 8) OR (hashed SubPlan 9) OR (hashed SubPlan 10)))
  • Rows Removed by Filter: 265408
16.          

SubPlan (for Parallel Seq Scan)

17. 0.006 0.396 ↑ 1.0 1 3

Unique (cost=13.10..13.11 rows=1 width=4) (actual time=0.391..0.396 rows=1 loops=3)

18. 0.121 0.390 ↑ 1.0 1 3

Sort (cost=13.10..13.11 rows=1 width=4) (actual time=0.388..0.390 rows=1 loops=3)

  • Sort Key: turmadisciplina.disciplinaequivalenteturmaagrupada
  • Sort Method: quicksort Memory: 25kB
  • Worker 0: Sort Method: quicksort Memory: 25kB
  • Worker 1: Sort Method: quicksort Memory: 25kB
19. 0.052 0.269 ↑ 1.0 1 3

Bitmap Heap Scan on turmadisciplina (cost=9.08..13.09 rows=1 width=4) (actual time=0.266..0.269 rows=1 loops=3)

  • Recheck Cond: ((turma = 6497) AND (disciplina = 232))
  • Heap Blocks: exact=1
20. 0.007 0.217 ↓ 0.0 0 3

BitmapAnd (cost=9.08..9.08 rows=1 width=0) (actual time=0.216..0.217 rows=0 loops=3)

21. 0.106 0.106 ↑ 12.0 1 3

Bitmap Index Scan on ch_turmadisciplina_turma (cost=0.00..4.38 rows=12 width=0) (actual time=0.105..0.106 rows=1 loops=3)

  • Index Cond: (turma = 6497)
22. 0.104 0.104 ↓ 3.0 64 3

Bitmap Index Scan on ch_turmadisciplina_disciplina (cost=0.00..4.45 rows=21 width=0) (actual time=0.103..0.104 rows=64 loops=3)

  • Index Cond: (disciplina = 232)
23. 0.122 0.122 ↓ 0.0 0 3

Seq Scan on disciplinaequivalente (cost=0.00..1.35 rows=1 width=4) (actual time=0.121..0.122 rows=0 loops=3)

  • Filter: (equivalente = 232)
  • Rows Removed by Filter: 28
24. 0.015 0.015 ↓ 0.0 0 3

Seq Scan on disciplinaequivalente disciplinaequivalente_1 (cost=0.00..1.35 rows=1 width=4) (actual time=0.014..0.015 rows=0 loops=3)

  • Filter: (disciplina = 232)
  • Rows Removed by Filter: 28
25. 53.898 119.607 ↑ 1.8 27,822 3

Parallel Hash (cost=2,218.98..2,218.98 rows=48,940 width=20) (actual time=119.605..119.607 rows=27,822 loops=3)

  • Buckets: 131072 Batches: 1 Memory Usage: 5664kB
26. 65.709 65.709 ↑ 1.8 27,822 3

Parallel Seq Scan on matriculaperiodo (cost=0.00..2,218.98 rows=48,940 width=20) (actual time=0.113..65.709 rows=27,822 loops=3)

  • Filter: ((situacaomatriculaperiodo)::text <> 'PC'::text)
  • Rows Removed by Filter: 12
27. 35.780 44.620 ↓ 0.0 0 4,462

Index Scan using matriculaperiodoturmadisciplina_pkey on matriculaperiodoturmadisciplina (cost=0.42..152.49 rows=1 width=8) (actual time=0.010..0.010 rows=0 loops=4,462)

  • Index Cond: (codigo = historico.matriculaperiodoturmadisciplina)
  • Filter: (((semestre)::text = '2'::text) AND ((ano)::text = '2019'::text) AND ((SubPlan 1) OR (SubPlan 2) OR (SubPlan 3)) AND ((alternatives: SubPlan 11 or hashed SubPlan 12) OR (SubPlan 13) OR (SubPlan 15)))
  • Rows Removed by Filter: 1
28.          

SubPlan (for Index Scan)

29. 1.640 1.640 ↓ 0.0 0 205

Index Scan using idx_turmaagrupada_turmaorigem on turmaagrupada (cost=0.28..16.31 rows=1 width=4) (actual time=0.008..0.008 rows=0 loops=205)

  • Index Cond: (turmaorigem = 6497)
  • Filter: (turma = matriculaperiodoturmadisciplina.turma)
  • Rows Removed by Filter: 2
30. 0.444 1.776 ↓ 0.0 0 148

Nested Loop (cost=0.84..32.93 rows=1 width=4) (actual time=0.012..0.012 rows=0 loops=148)

31. 0.296 1.332 ↓ 0.0 0 148

Nested Loop (cost=0.56..24.62 rows=1 width=4) (actual time=0.009..0.009 rows=0 loops=148)

32. 1.036 1.036 ↓ 0.0 0 148

Index Scan using idx_turmaagrupada_turmaorigem on turmaagrupada turmaagrupada_1 (cost=0.28..16.31 rows=1 width=8) (actual time=0.007..0.007 rows=0 loops=148)

  • Index Cond: (turmaorigem = 6497)
  • Filter: (turma = matriculaperiodoturmadisciplina.turmapratica)
  • Rows Removed by Filter: 2
33. 0.000 0.000 ↓ 0.0 0

Index Scan using turma_pkey on turma turmaorigem (cost=0.28..8.30 rows=1 width=4) (never executed)

  • Index Cond: (codigo = 6497)
  • Filter: (NOT subturma)
34. 0.000 0.000 ↓ 0.0 0

Index Scan using turma_pkey on turma turma_1 (cost=0.28..8.30 rows=1 width=4) (never executed)

  • Index Cond: (codigo = matriculaperiodoturmadisciplina.turmapratica)
  • Filter: ((tiposubturma)::text = 'PRATICA'::text)
35. 0.296 1.776 ↓ 0.0 0 148

Nested Loop (cost=0.84..32.93 rows=1 width=4) (actual time=0.012..0.012 rows=0 loops=148)

36. 0.444 1.480 ↓ 0.0 0 148

Nested Loop (cost=0.56..24.62 rows=1 width=4) (actual time=0.010..0.010 rows=0 loops=148)

37. 1.036 1.036 ↓ 0.0 0 148

Index Scan using idx_turmaagrupada_turmaorigem on turmaagrupada turmaagrupada_2 (cost=0.28..16.31 rows=1 width=8) (actual time=0.007..0.007 rows=0 loops=148)

  • Index Cond: (turmaorigem = 6497)
  • Filter: (turma = matriculaperiodoturmadisciplina.turmateorica)
  • Rows Removed by Filter: 2
38. 0.000 0.000 ↓ 0.0 0

Index Scan using turma_pkey on turma turmaorigem_1 (cost=0.28..8.30 rows=1 width=4) (never executed)

  • Index Cond: (codigo = 6497)
  • Filter: (NOT subturma)
39. 0.000 0.000 ↓ 0.0 0

Index Scan using turma_pkey on turma turma_2 (cost=0.28..8.30 rows=1 width=4) (never executed)

  • Index Cond: (codigo = matriculaperiodoturmadisciplina.turmateorica)
  • Filter: ((tiposubturma)::text = 'TEORICA'::text)
40. 0.228 1.026 ↓ 0.0 0 57

Nested Loop (cost=0.85..12.89 rows=1 width=0) (actual time=0.018..0.018 rows=0 loops=57)

41. 0.798 0.798 ↓ 0.0 0 57

Index Scan using historico_pkey on historico his_4 (cost=0.42..8.44 rows=1 width=4) (actual time=0.014..0.014 rows=0 loops=57)

  • Index Cond: (codigo = historico.codigo)
  • Filter: historicodisciplinafazpartecomposicao
  • Rows Removed by Filter: 1
42. 0.000 0.000 ↓ 0.0 0

Index Only Scan using matriculaperiodoturmadisciplina_pkey on matriculaperiodoturmadisciplina mptd (cost=0.42..4.44 rows=1 width=4) (never executed)

  • Index Cond: (codigo = his_4.matriculaperiodoturmadisciplina)
  • Heap Fetches: 0
43. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1,000.42..37,181.34 rows=1 width=4) (never executed)

44. 0.000 0.000 ↓ 0.0 0

Gather (cost=1,000.00..37,176.90 rows=1 width=8) (never executed)

  • Workers Planned: 2
  • Workers Launched: 0
45. 0.000 0.000 ↓ 0.0 0

Parallel Seq Scan on historico his_5 (cost=0.00..36,176.80 rows=1 width=8) (never executed)

  • Filter: historicodisciplinafazpartecomposicao
46. 0.000 0.000 ↓ 0.0 0

Index Only Scan using matriculaperiodoturmadisciplina_pkey on matriculaperiodoturmadisciplina mptd_1 (cost=0.42..4.44 rows=1 width=4) (never executed)

  • Index Cond: (codigo = his_5.matriculaperiodoturmadisciplina)
  • Heap Fetches: 0
47. 0.171 2.622 ↑ 1.0 1 57

Result (cost=1.14..17.49 rows=1 width=0) (actual time=0.046..0.046 rows=1 loops=57)

  • One-Time Filter: (historico.matriculaperiodoturmadisciplina = matriculaperiodoturmadisciplina.codigo)
48. 0.399 2.451 ↑ 1.0 1 57

Nested Loop (cost=1.14..17.49 rows=1 width=0) (actual time=0.043..0.043 rows=1 loops=57)

49. 0.513 1.311 ↑ 1.0 1 57

Nested Loop (cost=0.85..16.89 rows=1 width=8) (actual time=0.023..0.023 rows=1 loops=57)

50. 0.399 0.399 ↑ 1.0 1 57

Index Scan using historico_pkey on historico his_6 (cost=0.42..8.44 rows=1 width=4) (actual time=0.007..0.007 rows=1 loops=57)

  • Index Cond: (codigo = historico.codigo)
51. 0.399 0.399 ↑ 1.0 1 57

Index Scan using matriculaperiodoturmadisciplina_pkey on matriculaperiodoturmadisciplina mptd_2 (cost=0.42..8.44 rows=1 width=12) (actual time=0.007..0.007 rows=1 loops=57)

  • Index Cond: (codigo = his_6.matriculaperiodoturmadisciplina)
52. 0.741 0.741 ↑ 1.0 1 57

Index Scan using ch_turmadisciplina_turma on turmadisciplina turmadisciplina_1 (cost=0.29..0.59 rows=1 width=8) (actual time=0.013..0.013 rows=1 loops=57)

  • Index Cond: (turma = mptd_2.turma)
  • Filter: (((definicoestutoriaonline IS NULL) OR ((definicoestutoriaonline)::text <> 'DINAMICA'::text)) AND (mptd_2.disciplina = disciplina))
  • Rows Removed by Filter: 4
53. 0.000 0.000 ↓ 0.0 0

Result (cost=1.99..79.45 rows=1 width=0) (never executed)

  • One-Time Filter: (historico.matriculaperiodoturmadisciplina = matriculaperiodoturmadisciplina.codigo)
54. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.99..79.45 rows=1 width=0) (never executed)

55. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.70..75.13 rows=1 width=4) (never executed)

  • Join Filter: (((NOT t.turmaagrupada) AND (mptd_3.turma = t.codigo)) OR (t.turmaagrupada AND (SubPlan 14)))
56. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.42..22.34 rows=1 width=12) (never executed)

  • Join Filter: (mptd_3.disciplina = turmadisciplina_2.disciplina)
57. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.13..18.32 rows=1 width=20) (never executed)

58. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.85..16.90 rows=1 width=16) (never executed)

59. 0.000 0.000 ↓ 0.0 0

Index Scan using historico_pkey on historico his_7 (cost=0.42..8.44 rows=1 width=8) (never executed)

  • Index Cond: (codigo = historico.codigo)
60. 0.000 0.000 ↓ 0.0 0

Index Scan using matriculaperiodoturmadisciplina_pkey on matriculaperiodoturmadisciplina mptd_3 (cost=0.42..8.45 rows=1 width=16) (never executed)

  • Index Cond: (codigo = his_7.matriculaperiodoturmadisciplina)
  • Filter: ((professor = 111020) AND (his_7.disciplina = disciplina))
61. 0.000 0.000 ↓ 0.0 0

Index Only Scan using disciplina_pkey on disciplina d (cost=0.28..1.42 rows=1 width=4) (never executed)

  • Index Cond: (codigo = mptd_3.disciplina)
  • Heap Fetches: 0
62. 0.000 0.000 ↓ 0.0 0

Index Scan using ch_turmadisciplina_disciplina on turmadisciplina turmadisciplina_2 (cost=0.29..4.00 rows=2 width=8) (never executed)

  • Index Cond: (disciplina = d.codigo)
  • Filter: ((definicoestutoriaonline)::text = 'DINAMICA'::text)
63. 0.000 0.000 ↓ 0.0 0

Index Scan using turma_pkey on turma t (cost=0.28..0.54 rows=1 width=5) (never executed)

  • Index Cond: (codigo = turmadisciplina_2.turma)
64.          

SubPlan (for Nested Loop)

65. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=4.66..99.76 rows=13 width=4) (never executed)

66. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on turmaagrupada ta (cost=4.38..27.86 rows=13 width=4) (never executed)

  • Recheck Cond: (turmaorigem = t.codigo)
67. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on idx_turmaagrupada_turmaorigem (cost=0.00..4.38 rows=13 width=0) (never executed)

  • Index Cond: (turmaorigem = t.codigo)
68. 0.000 0.000 ↓ 0.0 0

Index Only Scan using turma_pkey on turma tu (cost=0.28..5.53 rows=1 width=4) (never executed)

  • Index Cond: (codigo = ta.turma)
  • Heap Fetches: 0
69. 0.000 0.000 ↓ 0.0 0

Index Only Scan using pessoa_pkey on pessoa prof (cost=0.29..4.31 rows=1 width=4) (never executed)

  • Index Cond: (codigo = 111020)
  • Heap Fetches: 0
70. 1.710 1.710 ↑ 1.0 1 57

Index Scan using matricula_pkey on matricula (cost=0.29..0.32 rows=1 width=32) (actual time=0.030..0.030 rows=1 loops=57)

  • Index Cond: ((matricula)::text = (historico.matricula)::text)
  • Filter: (((situacao)::text <> 'CA'::text) AND ((situacao)::text <> 'TR'::text))
  • Rows Removed by Filter: 0
71.          

SubPlan (for Nested Loop)

72. 0.000 0.000 ↓ 0.0 0

Limit (cost=28.81..32.84 rows=1 width=4) (never executed)

73. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on historico his (cost=28.81..32.84 rows=1 width=4) (never executed)

  • Recheck Cond: (((matricula)::text = (historico.matricula)::text) AND (disciplina = historico.disciplina))
  • Filter: (historicocursandoporcorrespondenciaapostransferencia AND (matrizcurricular <> matricula.gradecurricularatual) AND ((anohistorico)::text = (historico.anohistorico)::text) AND ((semestrehistorico)::text = (historico.semestrehistorico)::text) AND (transferenciamatrizcurricularmatricula = historico.transferenciamatrizcurricularmatricula))
74. 0.000 0.000 ↓ 0.0 0

BitmapAnd (cost=28.81..28.81 rows=1 width=0) (never executed)

75. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on idx_historico_matricula_gradedisciplina (cost=0.00..4.67 rows=33 width=0) (never executed)

  • Index Cond: ((matricula)::text = (historico.matricula)::text)
76. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on ch_historico_disciplina (cost=0.00..23.89 rows=995 width=0) (never executed)

  • Index Cond: (disciplina = historico.disciplina)
77. 0.042 3.168 ↓ 0.0 0 2

Limit (cost=28.81..32.84 rows=1 width=4) (actual time=1.578..1.584 rows=0 loops=2)

78. 0.052 3.126 ↓ 0.0 0 2

Bitmap Heap Scan on historico his_1 (cost=28.81..32.84 rows=1 width=4) (actual time=1.562..1.563 rows=0 loops=2)

  • Recheck Cond: (((matricula)::text = (historico.matricula)::text) AND (disciplina = historico.disciplina))
  • Filter: (((historicocursandoporcorrespondenciaapostransferencia IS NULL) OR (NOT historicocursandoporcorrespondenciaapostransferencia)) AND ((anohistorico)::text = (historico.anohistorico)::text) AND ((semestrehistorico)::text = (historico.semestrehistorico)::text) AND (transferenciamatrizcurricularmatricula = historico.transferenciamatrizcurricularmatricula) AND (matrizcurricular = matricula.gradecurricularatual))
  • Rows Removed by Filter: 1
  • Heap Blocks: exact=3
79. 0.032 3.074 ↓ 0.0 0 2

BitmapAnd (cost=28.81..28.81 rows=1 width=0) (actual time=1.536..1.537 rows=0 loops=2)

80. 0.116 0.116 ↓ 1.4 46 2

Bitmap Index Scan on idx_historico_matricula_gradedisciplina (cost=0.00..4.67 rows=33 width=0) (actual time=0.057..0.058 rows=46 loops=2)

  • Index Cond: ((matricula)::text = (historico.matricula)::text)
81. 2.926 2.926 ↓ 6.2 6,156 2

Bitmap Index Scan on ch_historico_disciplina (cost=0.00..23.89 rows=995 width=0) (actual time=1.461..1.463 rows=6,156 loops=2)

  • Index Cond: (disciplina = historico.disciplina)
82. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=81.23..85.28 rows=1 width=0) (never executed)

83. 0.000 0.000 ↓ 0.0 0

HashAggregate (cost=52.42..52.43 rows=1 width=25) (never executed)

  • Group Key: (his_2.matricula)::text, (his_2.anohistorico)::text, (his_2.semestrehistorico)::text, his_2.disciplina, his_2.transferenciamatrizcurricularmatricula
84. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on historico his_2 (cost=48.39..52.41 rows=1 width=25) (never executed)

  • Recheck Cond: (((matricula)::text = (historico.matricula)::text) AND (matrizcurricular = matricula.gradecurricularatual))
  • Filter: ((historicocursandoporcorrespondenciaapostransferencia IS NULL) OR (NOT historicocursandoporcorrespondenciaapostransferencia))
85. 0.000 0.000 ↓ 0.0 0

BitmapAnd (cost=48.39..48.39 rows=1 width=0) (never executed)

86. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on idx_historico_matricula_gradedisciplina (cost=0.00..4.67 rows=33 width=0) (never executed)

  • Index Cond: ((matricula)::text = (historico.matricula)::text)
87. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on ch_historico_gc (cost=0.00..43.47 rows=2,006 width=0) (never executed)

  • Index Cond: (matrizcurricular = matricula.gradecurricularatual)
88. 0.000 0.000 ↓ 0.0 0

Bitmap Heap Scan on historico hist (cost=28.81..32.84 rows=1 width=25) (never executed)

  • Recheck Cond: (((matricula)::text = (historico.matricula)::text) AND (disciplina = his_2.disciplina))
  • Filter: (historicoporequivalencia AND (historico.mapaequivalenciadisciplina = mapaequivalenciadisciplina) AND (numeroagrupamentoequivalenciadisciplina = historico.numeroagrupamentoequivalenciadisciplina) AND ((his_2.anohistorico)::text = (anohistorico)::text) AND ((his_2.semestrehistorico)::text = (semestrehistorico)::text) AND (his_2.transferenciamatrizcurricularmatricula = transferenciamatrizcurricularmatricula))
89. 0.000 0.000 ↓ 0.0 0

BitmapAnd (cost=28.81..28.81 rows=1 width=0) (never executed)

90. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on idx_historico_matricula_gradedisciplina (cost=0.00..4.67 rows=33 width=0) (never executed)

  • Index Cond: ((matricula)::text = (historico.matricula)::text)
91. 0.000 0.000 ↓ 0.0 0

Bitmap Index Scan on ch_historico_disciplina (cost=0.00..23.89 rows=995 width=0) (never executed)

  • Index Cond: (disciplina = his_2.disciplina)
92. 0.000 0.000 ↓ 0.0 0

Index Only Scan using unq_historico_disciplina_matrper_matrperturm_grade_gd_gcgod on historico his_3 (cost=0.42..8.45 rows=1 width=4) (never executed)

  • Index Cond: ((disciplina = historico.disciplina) AND (matriculaperiodo = historico.matriculaperiodo) AND (matrizcurricular = matricula.gradecurricularatual))
  • Heap Fetches: 0
93. 0.470 0.470 ↑ 1.0 1 47

Index Only Scan using turma_pkey on turma (cost=0.28..0.34 rows=1 width=4) (actual time=0.010..0.010 rows=1 loops=47)

  • Index Cond: (codigo = matriculaperiodoturmadisciplina.turma)
  • Heap Fetches: 47
94. 0.423 0.423 ↑ 1.0 1 47

Index Only Scan using gradecurricular_pkey on gradecurricular (cost=0.28..0.29 rows=1 width=4) (actual time=0.009..0.009 rows=1 loops=47)

  • Index Cond: (codigo = historico.matrizcurricular)
  • Heap Fetches: 47
95. 0.282 0.282 ↑ 1.0 1 47

Index Only Scan using disciplina_pkey on disciplina (cost=0.28..0.30 rows=1 width=4) (actual time=0.006..0.006 rows=1 loops=47)

  • Index Cond: (codigo = historico.disciplina)
  • Heap Fetches: 0
96. 0.517 0.517 ↑ 1.0 1 47

Index Only Scan using pessoa_pkey on pessoa aluno (cost=0.29..0.34 rows=1 width=4) (actual time=0.010..0.011 rows=1 loops=47)

  • Index Cond: (codigo = matricula.aluno)
  • Heap Fetches: 25
97. 0.329 0.329 ↑ 1.0 1 47

Index Only Scan using turno_pkey on turno (cost=0.14..0.16 rows=1 width=4) (actual time=0.006..0.007 rows=1 loops=47)

  • Index Cond: (codigo = matricula.turno)
  • Heap Fetches: 47
98. 0.329 0.329 ↑ 1.0 1 47

Index Only Scan using unidadeensino_pkey on unidadeensino (cost=0.13..0.15 rows=1 width=4) (actual time=0.007..0.007 rows=1 loops=47)

  • Index Cond: (codigo = matricula.unidadeensino)
  • Heap Fetches: 47
99. 0.376 0.376 ↑ 1.0 1 47

Index Only Scan using curso_pkey on curso (cost=0.28..0.29 rows=1 width=4) (actual time=0.008..0.008 rows=1 loops=47)

  • Index Cond: (codigo = matricula.curso)
  • Heap Fetches: 47
100. 0.329 0.329 ↑ 1.0 1 47

Index Only Scan using gradecurricular_pkey on gradecurricular matrizcurricular (cost=0.28..0.29 rows=1 width=4) (actual time=0.007..0.007 rows=1 loops=47)

  • Index Cond: (codigo = matricula.gradecurricularatual)
  • Heap Fetches: 47
101. 0.282 0.282 ↑ 1.0 1 47

Index Only Scan using configuracaoacademico_pkey on configuracaoacademico (cost=0.14..0.15 rows=1 width=4) (actual time=0.006..0.006 rows=1 loops=47)

  • Index Cond: (codigo = historico.configuracaoacademico)
  • Heap Fetches: 47
Planning time : 46.695 ms
Execution time : 999.888 ms