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 @@ |
| 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 | 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 | 25791 | INSERT INTO changelog VALUES (27, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '27_cria_tabela_modules_educacenso_cod_aluno_e_docente.sql'); |
| 25792 | 25792 | INSERT INTO changelog VALUES (28, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '28_cria_tabelas_modules_educacenso_ies_e_curso_superior.sql'); |
| 25793 | 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 | 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 | 35545 | SET search_path = portal, pg_catalog; |
| 35517 | 35546 | |
| 35518 | 35547 | -- | ... | ... |