Suppression des enregistrements plus anciens ou indésirables

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 3 minutes de lecture
  • Supprimez automatiquement les enregistrements anciens, expirés ou indésirables des tables.

    Supprimez les enregistrements plus anciens et inactifs dans des tables principales telles que la table Tâche [task] et les enregistrements dans des tables personnalisées que vous créez à l’aide des règles de Now Platform nettoyage de table.

    Plusieurs règles de nettoyage de table sont incluses par défaut dans le système de base.
    • Vous pouvez afficher une liste de toutes les règles de nettoyage de table dans la table Effacement automatique [sys_auto_flush] en saisissant sys_auto_flush.list dans le navigateur de filtre. La table Purge automatique affiche les règles des tables système de base et leurs âges d’enregistrement correspondants.
    • Vous pouvez afficher une liste de règles de nettoyage de table définies sur une seule table en accédant à Tous > Politiques de gestion des données et en sélectionnant l’enregistrement de politique de gestion des données pour la table, s’il existe. Le système crée automatiquement un enregistrement de politique de gestion des données pour toute table qui dispose d’une règle d’archivage ou d’une règle de nettoyeur de table.

    Gestion lente des règles

    La tâche planifiée du nettoyeur de table s’exécute une fois par heure (par défaut). Lorsque la tâche de nettoyeur de table s’exécute, chaque règle de nettoyeur de table exécute plusieurs requêtes dans le cadre du processus. S’il n’y a pas d’index sur le champ de correspondance d’une règle ou sur des parties importantes de sa condition, le traitement des règles peut être lent, car ses requêtes s’exécutent de manière inefficace sur de grandes quantités de données.

    Si une règle de nettoyeur de table a une requête qui prend plus de 30 secondes, l’ensemble du travail de nettoyage de table est arrêté. Par défaut, le nettoyeur de table attend deux jours avant d’inclure à nouveau cette règle dans la tâche de nettoyeur de table, ce qui permet à la tâche de nettoyeur de table de s’exécuter sans interruption entre-temps. Vous pouvez configurer la durée de la période d’attente en ajoutant une propriété système. Voir Propriétés du nettoyeur de table.

    Désactivation du nettoyage de table

    Vous pouvez empêcher un administrateur de créer une règle de nettoyage de table ou d’exécuter le nettoyeur de table sur une table spécifique en ajoutant l’attribut Désactiver le nettoyeur de table à l’enregistrement de dictionnaire de la table. Certaines tables système internes ont l’attribut Désactiver le nettoyeur de table ajouté par défaut.

    Limites du nettoyage de table

    • À partir du patch 5, les règles de nettoyage de Xanadu table définies dans la table Vidage automatique [sys_auto_flush] sont prises en charge pour les tables d’extension et de partition. Toutefois, les règles de nettoyeur de table ne sont pas prises en charge pour les tables configurées avec une rotation de table.

      Lorsque vous utilisez directement le script GlideTableCleaner, les règles de nettoyeur de table ne sont pas prises en charge pour les tables configurées avec une rotation de table ou une extension de table. Certaines tables de votre instance peuvent avoir des règles de nettoyeur de table héritées qui ont été établies avant l’activation de la rotation de table. Ces règles héritées peuvent être ignorées en toute sécurité.

    • Les performances dépendent de la taille de la table et des conditions que vous spécifiez. Par exemple, si vous utilisez une colonne personnalisée sans index dans une grande table, les performances sont fortement dégradées. Les performances dépendent également du nombre de lignes à supprimer.
    • Le nettoyeur de table consacre un maximum de 20 minutes à la suppression des enregistrements d’une seule table. Si les requêtes sont lentes, le volume d’enregistrements supprimés au cours de la période de 20 minutes peut être faible.
    • Le nettoyeur de table n’appelle pas DBDelete.setWorkflow(). Cela signifie que les objets DBDelete s’exécutent avec workflow=false (false est la valeur par défaut d’un booléen Java). Par conséquent, les règles métier, les workflows et les flux que vous vous attendiez à déclencher lors de la suppression de l’enregistrement ne se déclenchent pas dans le contexte du nettoyeur de tables. Ceci est important à prendre en compte si vous avez une logique métier qui dépend de ce type de fonctionnalité.