Excluindo registros mais antigos ou indesejados

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 2 min. de leitura
  • Exclua registros antigos, expirados ou indesejados das tabelas automaticamente.

    Exclua registros mais antigos e inativos em tabelas principais, como a tabela Tarefa [task] e registros em tabelas personalizadas que você cria no Now Platform usando regras de limpeza de tabela.

    Há várias regras de limpeza de tabela incluídas no sistema de base por padrão.
    • Você pode exibir uma lista de todas as regras de limpeza de tabela na tabela Limpeza automática [sys_auto_flush] inserindo sys_auto_flush.list no navegador de filtros. A tabela Limpeza automática exibe regras para tabelas do sistema base e suas idades de registro correspondentes.
    • Você pode exibir uma lista de regras de limpeza de tabela definidas em uma única tabela navegando até Tudo > Políticas de gestão de dados e selecionando o registro de política de gerenciamento de dados para a tabela, se existir. O sistema cria automaticamente um registro de política de gestão de dados para qualquer tabela que tenha uma regra de arquivamento ou regra de limpeza de tabela.

    Manipulação de regra lenta

    O trabalho agendado de limpeza de tabela é executado uma vez por hora (por padrão). Quando o trabalho de limpeza de tabela é executado, cada regra de limpeza de tabela executa várias consultas como parte do processo. Se não houver índice no campo de correspondência de uma regra ou em partes significativas de sua condição, o processamento da regra poderá ser lento porque suas consultas estão sendo executadas de forma ineficiente em grandes quantidades de dados.

    Se uma regra de limpeza de tabela tiver uma consulta que demora mais de 30 segundos para ser concluída, todo o trabalho de limpeza de tabela será interrompido. Por padrão, o limpador de tabela espera dois dias antes de incluir essa regra no trabalho de limpeza de tabela novamente, o que permite que o trabalho de limpeza de tabela seja executado sem interrupção nesse meio tempo. Você pode configurar a duração do período de espera adicionando uma propriedade do sistema. Consulte Propriedades do limpador de tabela.

    Desativação da limpeza de tabela

    Você pode impedir que um administrador crie uma regra de limpeza de tabela ou execute o limpador de tabela em uma tabela específica, adicionando o atributo Desabilitar limpador de tabela ao registro do dicionário da tabela. Algumas tabelas internas do sistema têm o atributo Desabilitar limpeza de tabela adicionado por padrão.

    Limitações de limpeza da tabela

    • As regras de limpeza de tabela não são compatíveis com tabelas configuradas com rotação ou extensão de tabela. Algumas tabelas em sua instância podem ter regras de limpeza de tabela legadas que foram estabelecidas antes que a rotação ou a extensão da tabela fosse habilitada. Essas regras legadas podem ser ignoradas com segurança.
    • O desempenho depende do tamanho da tabela e das condições que você especifica. Por exemplo, se você usar uma coluna personalizada sem um índice em uma tabela grande, o desempenho será gravemente prejudicado. O desempenho também depende do número de linhas a serem excluídas.
    • O limpador de tabela gasta no máximo 20 minutos para excluir registros de uma única tabela. Se as consultas forem lentas, o volume de registros excluídos no período de 20 minutos poderá ser pequeno.
    • O limpador de tabela não chama DBDelete.setWorkflow(). Isso significa que os objetos DBDelete são executados com workflow=false (falso é o valor padrão para um booliano Java). Como resultado, regras de negócio, fluxos de trabalho e fluxos que você espera que sejam acionados na exclusão de registros não serão acionados no contexto do limpador de tabela. É importante considerar isso se você tiver uma lógica de negócios que dependa desse tipo de funcionalidade.