Commit 3a4050985a0a0aca2ed5636eaad16b1c4fa636a0

Authored by Eriksen Costa
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
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, &#39;Main&#39;, &#39;NOW()&#39;, &#39;NOW()&#39;, &#39;dbdeploy&#39;, &#39;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 --
... ...