Excluir o histórico de contadores de um recurso

Documentação e dúvidas para o módulo de Monitoramento.
Levi Gleik
Mensagens: 25
Registrado em: Seg Ago 29, 2016 7:47 pm

Excluir o histórico de contadores de um recurso

Mensagempor Levi Gleik » Ter Ago 30, 2016 8:43 pm

SQL SERVER e POSTGRESQL

Código: Selecionar todos

DELETE FROM monHistoricoContadores 
WHERE idRecursoContador IN
      
(SELECT idRecursoContador FROM monRecursosContadores WHERE idRecurso IN
              
(SELECT idRecurso FROM monRecursos 
               WHERE idRecurso 
= identificador_recurso OR idRecursoPai = identificador_recurso)
      ) AND 
      dtMonitoramento 
< data_base


Identificador_recurso

    Código único do recurso, cujos contadores dele e de seus filhos se deseja excluir.
Data_base

    Indica até que data o histórico de contadores do recurso e de seus filhos serão excluídos.

O dois sub-selects são necessários, haja visto que a chave primária da tabela monHistoricoContadores é (idRecursoContador, dtMonitoramento). Desta forma, primeiramente, precisamos identificar quais são os idRecursosContadores do recurso pai e de seus filhos. Só então passamos essa lista para a condição de exclusão, para que a rotina fique mais performática. Isto evita uma leitura sequencial nesta tabela, que na maioria das vezes contém milhões de registros.

Recomenda-se não utilizar longos períodos de data, portanto isto pode impactar SEVERAMENTE a performance da aplicação de monitoramento.

Voltar para “Monitoramento”

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante