Rotation de tables
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 a écrit la dernière table d’une rotation, la rotation remplace la première table de la rotation. Veuillez contacter ServiceNow l’assistance technique avant d’appliquer la rotation de tables à une table personnalisée.Exemples :
- La requête
Enregistrements créés entre le 10/12/2015 à 08 :49 et le 09/12/2015 34/07 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 34/07 où topic=SystemCommand, ou sans plage de dates, doit cibler toutes les partitions et est donc traduite comme une requête d’union sur toutes les partitions.
- La requête
- Avantages
- Permet la suppression d’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 l’ensemble 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, en utilisant le champ sys_created_on ) forcent une requête d’union inefficace à interroger des plages de temps qui couvrent plusieurs tables et peuvent être extrêmement lentes si le nombre de sous-tables est important.
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, en utilisant le champ sys_created_on ) forcent une requête d’union inefficace à interroger des plages de temps qui couvrent plusieurs tables et peuvent être extrêmement lentes si le nombre de sous-tables est important.
Vous pouvez utiliser la rotation de tables pour les tables écrites de manière séquentielle ou pour les tables à insertion seule. Vous ne pouvez pas utiliser la rotation de tables pour sys_import tables ou les tables qui étendent la table Tâche [task].