Vous pouvez choisir de désactiver les contraintes et les index lorsque vous effectuez une opération de réinitialisation.
La désactivation des contraintes lors de la réinitialisation peut améliorer les performances de l'opération de réinitialisation, car ainsi, les contraintes n'existent pas. TDM effectue des suppressions et des chargements dans plusieurs tables en parallèle, ce qui peut réduire la durée de l'opération de réinitialisation.
Lorsque vous ne désactivez pas les contraintes entre les tables pendant une opération de réinitialisation, TDM doit vérifier l'ordre dans lequel les suppressions et les insertions se produisent. TDM ne peut pas effectuer de chargements et de suppressions pour plusieurs tables en parallèle. TDM doit prendre en compte les contraintes avant de supprimer des enregistrements. L'opération de réinitialisation peut prendre plus longtemps que lorsque vous désactivez les contraintes et les index.
Vous appliquez des contraintes entre les tables. Lorsque vous désactivez les contraintes, vous les désactivez pour l'intégralité de la table. Pendant la durée de la désactivation des contraintes, les tests que vous effectuez à l'aide des tables peuvent échouer, car les contraintes n'existent pas. Envisagez un cas où plusieurs testeurs utilisent les données de test. Créez un ensemble de données contenant les 100 premiers enregistrements de la table Customer. Après avoir exécuté quelques tests, vous voulez réinitialiser les données de test avec l'ensemble de données. Si vous désactivez les contraintes de cette table lors de l'opération de réinitialisation, les tests effectués par d'autres testeurs qui incluent la table Customer peuvent échouer. L'opération de réinitialisation entraîne une interruption de l'exécution de tests qui utilisent la connexion cible.
Bien que la désactivation des contraintes puisse, d'un côté, augmenter les performances, elle peut, de l'autre, provoquer une interruption des tests si les tables cibles sont partagées entre des testeurs.
Si plusieurs testeurs utiliser ces tables, une opération de réinitialisation plus lente peut être préférable à une interruption des tests ressentie par plusieurs testeurs. Si les tables cibles ne sont pas utilisées par d'autres testeurs, et s'il est certain qu'aucun test incluant ces tables n'est exécuté pendant la réinitialisation, vous pouvez augmenter les performances de la réinitialisation en désactivant les contraintes.
Analysez vos besoins et tenez compte de cet aspect des choses lorsque vous configurez une opération de réinitialisation.