Suppression d’enregistrements plus anciens ou indésirables

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 3 minutes de lecture
  • Supprimez automatiquement les enregistrements les plus anciens, expirés ou indésirables des tables.

    Supprimez les enregistrements inactifs plus anciens dans les tables principales, telles que la table Tâche [task], et les enregistrements des tables personnalisées que vous créez à l’aide des règles de nettoyage de Now Platform 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 Effacement automatique affiche les règles pour les 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 à Tout > 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 comportant une règle d’archivage ou 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 nettoyage de table s’exécute, chaque règle de nettoyage 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 significatives 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 nettoyage de table a une requête qui prend plus de 30 secondes à exécuter, l’ensemble de la tâche de nettoyage de table est arrêtée. Par défaut, le nettoyeur de tables attend deux jours avant d’inclure à nouveau cette règle dans la tâche de nettoyage de tables, ce qui permet à la tâche de nettoyeur de tables 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. Consultez 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

    • Les règles de nettoyage 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 nettoyage de table héritées qui ont été établies avant l’activation de la rotation de table ou de l’extension 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 passe 20 minutes au maximum pour supprimer les 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 pour un booléen Java). Par conséquent, les règles métier, les workflows et les flux que vous deviez déclencher lors de la suppression des enregistrements ne seront pas déclenchés dans le contexte du nettoyeur de tables. Il est important d’en tenir compte si vous disposez d’une logique métier qui dépend de ce type de fonctionnalité.