Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

SQL Server 2016 : Les nouveautés

Changer l'option du moteur d'estimation de cardinalité

Testez gratuitement nos 1336 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Si vos requêtes ne sont pas bien évaluées par l'optimiseur, découvrez comment utiliser une option de configuration. Il s'agit de changer la version du moteur d'estimation de cardinalité.
05:02

Transcription

Voyons maintenant les deux configurations qui nous restent. « Legacy Cardinality Estimation », « Parameter Sniffing ». « Legacy Cardinality Estimation » c'est quelque chose qui va nous permettre de gérer l'estimation faite par le moteur de la cardinalité du résultat. Si je fait une requête, sur, par exemple, ma table de contact, et que je souhaite avoir quelques personnes qui s'appellent Garcia, par exemple. Pour faire un bon plan d'exécution, est-ce le serveur a besoin d'estimer le nombre de lignes ? qui va être affectée par la requête. Combien y a-t-il de Garcia en d'autre terme ? Si je regarde le plan d'exécution, je m'aperçois ici que j'ai un nombre de lignes estimées, je reviens. Le nombre de lignes estimées est à 104. Cette estimation est nécessaire pour faire un plan d'exécution. Si l'estimation est plus petite, par exemple, ici, le plan pourrait utiliser un index, ce qui serait plus favorable, si le nombre de lignes est inférieur. Ce nombre de lignes, c'est ce qu'on appelle la « cardinalité du résultat ». C'est un terme qui vient de la théorie des ensembles, sur laquelle est basé le modèle relationnel des bases de données relationnelles. Et donc, par cardinalité, entendez, le nombre d'éléments d'un ensemble, donc, le nombre de lignes du résultat. Le moteur d'estimation de cette cardinalité a changé en 2014, donc, en SQL serveur de 2014. Pour régler un certain nombre de problèmes, notamment lorsque, les valeurs changent dans les tables, et que donc, il peut y avoir plus ou moins Garcia maintenant, parce que déjà on fait des mises à jours ou des ajouts. Ce moteur d'estimation de cardinalité, donc, à partir de 2014 est double On peut soit utiliser l'ancien moteur, soit le nouveau. Et qu'est-ce qui se passait en SQL Serveur 2014. C'est que si votre base de données était dans un niveau de compatibilité par exemple, 2008, à ce moment-là, on utilisait l'ancien moteur d’estimation mais si on était au niveau 2014, on utilisait le moteur d'estimation de cardinalité de 2014, et maintenant vous avez un moteur d'estimation de cardinalité avec une version, voyez ici 130. En 2014 c'était la version 120, et pour toutes les versions antérieures, c'est-à-dire pour tous les niveaux de comptabilité antérieur, on restait à la version 70, qui est donc, l'équivalent du SQL Serveur 7. Je fais annuler, parce que là, je suis au niveau de comptabilité 2016, et si je regarde, donc en prenant bien soin, de m'assurer que j'ai mis cette option en OFF, ce qui est la valeur par défaut. Si je regarde mon plan d'exécution, je vais y aller en XML, voilà, les plans d'exécution de SQL Serveur, ils sont en XML [inaudible]. Je vais voir qu'ici je vais avoir une version de moteur d'estimation de cardinalité à 130. Très bien. C'est normalement ce qu'on veut. Mais il peut y avoir des cas, où, eh bien, l'ancien moteur d'estimation de cardinalité produit de meilleurs résultats dans certaines requêtes, ou voire sur certaines bases de données. Si c'est le cas, qu'est-ce que vous auriez à faire ? A prendre votre base de données et à la mettre dans un niveau de comptabilité inférieur, juste pour régler ce problème. Mais ça veut dire vous perdez aussi certaines fonctionnalités par exemple, des syntaxes de transacte SQL plus modernes. donc, l’idée de Microsoft a été de dire : « Changeons juste l'option pour l'estimation de cardinalité.» Donc si je dis maintenant : Je prends ma base de données Pacha Data Formation et je lui dis : « Utilise l'ancien moteur d'estimation». Donc je mets ce « Legacy », « Legacy » ça veut dire « héritage », donc le moteur de cardinalité ancien dont on hérite. Je le mets à ON Je vais forcer maintenant le moteur d'estimation cardinalité à, vous allez la voir, la version 70. Donc, je force un ancien mode de calcul. Comparez simplement les résultats, si vous avez des problématiques d'estimation de cardinalité. C'est-à-dire si vous vous apercevez que je vais prendre ici le plan d'exécution actuel, si vous vous apercevez que lorsque vous exécuter une requête avec un plan d'exécution actuel, c'est-à-dire, le plan d'exécution plus certains statistiques, vous vous apercevez que, vous regardez un peu en haut ici, le nombre réel de lignes qui est là, un peu près d'attention, je retourne, le nombre de lignes est 104. Et le nombre de lignes estimé qui est ici, est de 104, donc, c'est bon. Mais parfois vous avez une grosse différence. Eh bien, peut-être pour ce type de cas, vous pourriez être amené à changer cette option pour essayer l'ancien moteur d'estimation de cardinalité.

SQL Server 2016 : Les nouveautés

Découvrez les nouveautés de SQL Server 2016. Voyez les options de configuration limitées aux bases de données, le chiffrage de données à partir des applications clientes, etc.

2h26 (27 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Votre/vos formateur(s) :
Date de parution :1 juin 2016
Durée :2h26 (27 vidéos)

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !