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 | -- |