Symptômes
Supposez que vous avez activé la nouvelle estimation de cardinalitédans Microsoft SQL Server 2014. Lorsque vous exécutez une requête qui contient des instructions JOIN, vous pouvez rencontrer les problèmes suivants :
-
La compilation de certaines requêtes prend beaucoup plus de temps, en particulier lorsque la requête comporte un grand nombre de jointures. Le temps de compilation risque de rester considérablement croissant grâce à la croissance des jointures.
-
Lorsque le prédicat de jointure utilise d’autres conditions que l’égalité ou une combinaison de Equalities, le nombre estimé de lignes de types spécifiques dans les jointures est différent du nombre réel de lignes traitées. Dans ce cas, les performances de la requête diminuent, et, dans la mesure où la requête nécessite une allocation de mémoire importante, les performances globales du serveur diminuent.
Résolution
Informations sur le Service Pack
Pour résoudre ce problème, procurez-vous le Service Pack 1 pour SQL Server 2014.
Pour plus d’informations sur SQL Server 2014 Service Pack 1 (SP1), voir bogues résolus dans SQL server 2014 Service Pack 1.Remarque Pour que le correctif prenne effet pour le deuxième problème décrit dans cet article, activez l’indicateur de suivi 4199.
Solution de contournement
Pour contourner ces problèmes, utilisez l’ancien estimateur de cardinalité en définissant le niveau de compatibilité de la base de données sur une valeur inférieure à 120 ou en activant l’indicateur de suivi 9481 à l’échelle globale, de session ou de requête.
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.