Rotation de tables
Optimisez les performances et gérez le cycle de vie des données en faisant pivoter les tables, ce qui permet d’archiver systématiquement les anciennes données tout en maintenant l’efficacité du système.
La rotation de tables préserve les performances de l’instance et évite les risques associés à l’interrogation d’ensembles de données croissants. Cette fonctionnalité utilise le champ sys_created_on pour séparer les ensembles de données en plusieurs tables en fonction de la date.
- Fonction
- L’administrateur spécifie le paramètre de temps (durée) du processus et le nombre de tables (rotations) qu’il contient. Une fois que la rotation écrit la dernière table d’une rotation, la rotation remplace la première table de la rotation. Contactez ServiceNow l’assistance technique avant d’appliquer la rotation de table à une table personnalisée.Exemples :
- La requête
Enregistrements créés entre le 10/12/2015 08:49 et le 09/12/2015 07/34 où topic=SystemCommandest traduit en requête SQL sur une seule table, car la clause sur sys_created_on cible une seule partition. - La requête
Enregistrements mis à jour entre le 10/12/2015 08:49 et le 09/12/2015 07/34 où topic=SystemCommand, ou sans plage de dates, doit cibler toutes les partitions et est donc traduite sous forme de requête d’union sur toutes les partitions.
- La requête
- Avantages
- Permet de supprimer les anciennes données sans affecter les données actuelles (par exemple, pour supprimer ou tronquer une table).
- Garantit que les tables n’atteignent qu’une taille raisonnable.
- Réduit le jeu de données de travail lorsque la date est connue pour la requête.
- Inconvénients
- Les requêtes qui n’utilisent pas la date de rotation de table (par exemple, à l’aide du champ sys_created_on ) forcent une requête d’union inefficace à interroger des plages horaires qui s’étendent sur plusieurs tables et peuvent être extrêmement lentes si le nombre de sous-tables est élevé.
Pour améliorer les performances, il est recommandé que la requête inclue une fenêtre de dates de création.
- Les utilisateurs ne peuvent pas remonter pas à pas vers une table pivotée.
- Les requêtes qui n’utilisent pas la date de rotation de table (par exemple, à l’aide du champ sys_created_on ) forcent une requête d’union inefficace à interroger des plages horaires qui s’étendent sur plusieurs tables et peuvent être extrêmement lentes si le nombre de sous-tables est élevé.
Vous pouvez utiliser la rotation de table pour les tables écrites séquentiellement ou pour les tables à insertion seule. Vous ne pouvez pas utiliser la rotation de table pour les tables sys_import ou les tables qui étendent la table Tâche [task].