Commit 3a4050985a0a0aca2ed5636eaad16b1c4fa636a0
1 parent
c1c791ba
Exists in
master
Adicionados índices para melhorar performance de queries SQL SELECT que apresent…
…aram lentidão em bancos de dados com mais de 2 mil docentes
Showing
2 changed files
with
62 additions
and
0 deletions
Show diff stats
ieducar/misc/database/deltas/30_cria_indices_otimizacao_queries_quadro_horarios.sql
0 → 100644
| @@ -0,0 +1,33 @@ | @@ -0,0 +1,33 @@ | ||
| 1 | +-- // | ||
| 2 | + | ||
| 3 | +-- | ||
| 4 | +-- Cria índices adicionais para melhorar performance de queries SQL SELECT | ||
| 5 | +-- que apresentaram lentidão em bancos de dados com mais de 2 mil docentes. | ||
| 6 | +-- | ||
| 7 | +-- @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 8 | +-- @license @@license@@ | ||
| 9 | +-- @version $Id$ | ||
| 10 | +-- | ||
| 11 | + | ||
| 12 | +CREATE INDEX quadro_horario_horarios_busca_horarios_idx | ||
| 13 | + ON pmieducar.quadro_horario_horarios (ref_servidor, ref_cod_instituicao_servidor, dia_semana, hora_inicial, hora_final, ativo); | ||
| 14 | + COMMENT ON INDEX pmieducar.quadro_horario_horarios_busca_horarios IS | ||
| 15 | + 'Índice para otimizar a busca por professores na criação de quadro de horários.'; | ||
| 16 | + | ||
| 17 | +CREATE INDEX servidor_idx | ||
| 18 | + ON pmieducar.servidor (cod_servidor, ref_cod_instituicao, ativo); | ||
| 19 | + COMMENT ON INDEX pmieducar.servidor_idx IS | ||
| 20 | + 'Índice para otimização de acesso aos campos mais usados para queries na tabela.'; | ||
| 21 | + | ||
| 22 | +CREATE INDEX servidor_alocacao_busca_horarios_idx | ||
| 23 | + ON pmieducar.servidor_alocacao (ref_ref_cod_instituicao, ref_cod_escola, ativo, periodo, carga_horaria); | ||
| 24 | + COMMENT ON INDEX pmieducar.servidor_alocacao_busca_horarios IS | ||
| 25 | + 'Índice para otimizar a busca por professores na criação de quadro de horários.'; | ||
| 26 | + | ||
| 27 | +-- //@UNDO | ||
| 28 | + | ||
| 29 | +DROP INDEX pmieducar.quadro_horario_horarios_busca_horarios_idx; | ||
| 30 | +DROP INDEX pmieducar.servidor_idx; | ||
| 31 | +DROP INDEX pmieducar.servidor_alocacao_busca_horarios_idx; | ||
| 32 | + | ||
| 33 | +-- // | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |
ieducar/misc/database/ieducar.sql
| @@ -25791,6 +25791,7 @@ INSERT INTO changelog VALUES (26, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '26_cria | @@ -25791,6 +25791,7 @@ INSERT INTO changelog VALUES (26, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '26_cria | ||
| 25791 | INSERT INTO changelog VALUES (27, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '27_cria_tabela_modules_educacenso_cod_aluno_e_docente.sql'); | 25791 | INSERT INTO changelog VALUES (27, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '27_cria_tabela_modules_educacenso_cod_aluno_e_docente.sql'); |
| 25792 | INSERT INTO changelog VALUES (28, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '28_cria_tabelas_modules_educacenso_ies_e_curso_superior.sql'); | 25792 | INSERT INTO changelog VALUES (28, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '28_cria_tabelas_modules_educacenso_ies_e_curso_superior.sql'); |
| 25793 | INSERT INTO changelog VALUES (29, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '29_cria_tabela_modules_docente_licenciatura.sql'); | 25793 | INSERT INTO changelog VALUES (29, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '29_cria_tabela_modules_docente_licenciatura.sql'); |
| 25794 | +INSERT INTO changelog VALUES (30, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '30_cria_indices_otimizacao_queries_quadro_horarios.sql'); | ||
| 25794 | 25795 | ||
| 25795 | 25796 | ||
| 25796 | -- | 25797 | -- |
| @@ -35513,6 +35514,34 @@ CREATE INDEX i_nota_aluno_ref_cod_matricula ON nota_aluno USING btree (ref_cod_m | @@ -35513,6 +35514,34 @@ CREATE INDEX i_nota_aluno_ref_cod_matricula ON nota_aluno USING btree (ref_cod_m | ||
| 35513 | CREATE INDEX i_turma_nm_turma ON turma USING btree (nm_turma); | 35514 | CREATE INDEX i_turma_nm_turma ON turma USING btree (nm_turma); |
| 35514 | 35515 | ||
| 35515 | 35516 | ||
| 35517 | +-- | ||
| 35518 | +-- Name: quadro_horario_horarios_busca_horarios_idx; Type: INDEX; Schema: pmieducar; Owner: -; Tablespace: | ||
| 35519 | +-- | ||
| 35520 | + | ||
| 35521 | +CREATE INDEX quadro_horario_horarios_busca_horarios_idx ON quadro_horario_horarios USING btree (ref_servidor, ref_cod_instituicao_servidor, dia_semana, hora_inicial, hora_final, ativo); | ||
| 35522 | + | ||
| 35523 | + | ||
| 35524 | +-- | ||
| 35525 | +-- Name: servidor_alocacao_busca_horarios_idx; Type: INDEX; Schema: pmieducar; Owner: -; Tablespace: | ||
| 35526 | +-- | ||
| 35527 | + | ||
| 35528 | +CREATE INDEX servidor_alocacao_busca_horarios_idx ON servidor_alocacao USING btree (ref_ref_cod_instituicao, ref_cod_escola, ativo, periodo, carga_horaria); | ||
| 35529 | + | ||
| 35530 | + | ||
| 35531 | +-- | ||
| 35532 | +-- Name: servidor_idx; Type: INDEX; Schema: pmieducar; Owner: -; Tablespace: | ||
| 35533 | +-- | ||
| 35534 | + | ||
| 35535 | +CREATE INDEX servidor_idx ON servidor USING btree (cod_servidor, ref_cod_instituicao, ativo); | ||
| 35536 | + | ||
| 35537 | + | ||
| 35538 | +-- | ||
| 35539 | +-- Name: INDEX servidor_idx; Type: COMMENT; Schema: pmieducar; Owner: - | ||
| 35540 | +-- | ||
| 35541 | + | ||
| 35542 | +COMMENT ON INDEX servidor_idx IS 'Índice para otimização de acesso aos campos mais usados para queries na tabela.'; | ||
| 35543 | + | ||
| 35544 | + | ||
| 35516 | SET search_path = portal, pg_catalog; | 35545 | SET search_path = portal, pg_catalog; |
| 35517 | 35546 | ||
| 35518 | -- | 35547 | -- |