Teradata - Réglage des performances
Ce chapitre décrit la procédure de réglage des performances dans Teradata.
Explique
La première étape du réglage des performances consiste à utiliser EXPLAIN sur votre requête. Le plan EXPLAIN donne les détails sur la manière dont l'optimiseur exécutera votre requête. Dans le plan Explain, vérifiez les mots-clés tels que le niveau de confiance, la stratégie de jointure utilisée, la taille du fichier de spoule, la redistribution, etc.
Collecter des statistiques
Optimizer utilise les données démographiques pour élaborer une stratégie d'exécution efficace. La commande COLLECT STATISTICS est utilisée pour collecter les données démographiques de la table. Assurez-vous que les statistiques collectées sur les colonnes sont à jour.
Collectez des statistiques sur les colonnes utilisées dans la clause WHERE et sur les colonnes utilisées dans la condition de jointure.
Collectez des statistiques sur les colonnes d'index primaire unique.
Collectez des statistiques sur les colonnes d'index secondaire non unique. L'optimiseur décidera s'il peut utiliser NUSI ou l'analyse complète de la table.
Collectez des statistiques sur l'index de jointure en collectant les statistiques sur la table de base.
Collectez des statistiques sur les colonnes de partitionnement.
Types de données
Assurez-vous que les types de données appropriés sont utilisés. Cela évitera l'utilisation d'un stockage excessif que nécessaire.
Conversion
Assurez-vous que les types de données des colonnes utilisées dans la condition de jointure sont compatibles pour éviter les conversions de données explicites.
Trier
Supprimez les clauses ORDER BY inutiles, sauf si nécessaire.
Problème d'espace de spool
Une erreur d'espace de spoule est générée si la requête dépasse la limite d'espace de spoule AMP pour cet utilisateur. Vérifiez le plan d’explication et identifiez l’étape qui consomme plus d’espace de spoule. Ces requêtes intermédiaires peuvent être divisées et placées séparément pour créer des tables temporaires.
Index primaire
Assurez-vous que l'index primaire est correctement défini pour la table. La colonne d'index primaire doit répartir uniformément les données et doit être fréquemment utilisée pour accéder aux données.
Table SET
Si vous définissez une table SET, l'optimiseur vérifiera si l'enregistrement est dupliqué pour chaque enregistrement inséré. Pour supprimer la condition de vérification en double, vous pouvez définir un index secondaire unique pour la table.
MISE À JOUR sur la grande table
La mise à jour de la grande table prendra du temps. Au lieu de mettre à jour la table, vous pouvez supprimer les enregistrements et insérer les enregistrements avec des lignes modifiées.
Suppression de tables temporaires
Supprimez les tables temporaires (tables intermédiaires) et volatiles si elles ne sont plus nécessaires. Cela libérera de l'espace permanent et de l'espace de bobine.
Table MULTISET
Si vous êtes sûr que les enregistrements d'entrée n'auront pas d'enregistrements en double, vous pouvez définir la table cible comme table MULTISET pour éviter la vérification de ligne en double utilisée par la table SET.