SQL Server 2016 : Maintenance des progiciels tiers

Identifier les problèmes d'indexation

Testez gratuitement nos 1257 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Apprenez à identifier quelques requêtes qui peuvent poser des problèmes et vous rendre compte de la nature de ce problème. Il peut peut-être s'agir d'un manque d'index.
03:51

Transcription

Revenons donc sur cet affichage du « Profiler ». On va parler plutôt des requêtes couteuses. Qu’est ce que ça veut dire ? Je vais un peu oublier la partie affichage. De toute façon la requête est toujours la même, c’est celle-ci. Et on va voir donc « CPU », « Reads », et « Duration » d’abord. Donc je reviens là-dessus. Vous voyez que le CPU est en moyenne de 60, 40, 50, 60 millisecondes, c’est pas beaucoup. Mais les « Reads » il y en a 2865. Ça veut dire 2865x8 kilos. C’est plusieurs méga il faudrait faire le calcul mais ça représente pas mal de volume à manipuler. Et la durée est de 60 millisecondes, 50 à 60 millisecondes, quelques choses comme ça. Mais si je compare avec le « Row Counts » qui est ici, eh bien j’ai une ligne. Ma requête ici avec ma clause « where », elle ne retourne qu’une ligne. Mais alors pourquoi faire 2865 « reads » ? Pourquoi lire 2865 pages de la base de données, c'est-à-dire des page de 8 kilos pour finalement obtenir une seule ligne ? Et ça, c’est un très très bon indicateur de problématique de requête, que ce soit une requête mal écrite, mais ici elle est tellement simple que c’est probablement pas le cas. Et ça peut-être également une problématique de manque d’index. Et c’est assez logique. Parce que si je reviens sur ma requête, j’enlève ça, eh bien je fais un SELECT de « Contact.Contact ». Bon, je vous montre le résultat une fois. Et puis je vais chercher dans l’email, et j’ai une belle clause « where » ici qui cherche simplement, qui fait une comparaison, pour trouver un email. Mais si dans ma table « contact », comme c’est le cas ici, vous le voyez, j’ai un index uniquement sur le nom, et je n’ai pas d’index sur l’email. Et cette requête va scanner la table. C’est pour cette raison que je vois beaucoup de pages. Elle va parcourir toutes les lignes de la table pour chercher l’email et c’est une grande perte de temps. Il faudrait que je crée un index sur cette requête de façon à l’optimiser. Et en fait, lorsque je fais ce type d’audit, eh bien je réagis exactement de cette façon, je vais regarder la requête, regarder le nombre de « reads », je vais me dire : tiens il y a peut-être un problème, alors je prends comme ceci la requête, je la copie, je reviens ici, je la colle, c’est la même hein. Bon, je l’avais déjà. Et puis je vais regarder deux ou trois choses, un peu plus en détail, avec des outils de diagnostic. Mais je vais vous montrer juste une chose. Je vais regarder son plan d’exécution, c'est-à-dire la façon dont le moteur SQL va bâtir une stratégie pour exécuter la requête. Je vais faire ça comme ça, en affichant le plan d’exécution estimé. Et je vois ici que SQL Server me signale un « Index absent ». Et il me dit : « l’impact de la création de cette index serait de 99,8% », c'est-à-dire qu’on pourrait réellement améliorer très très nettement les performances de cette requête en créant un index. Alors c’est très très bien qu’il nous le signale et je peux faire un petit clic-droit ici, aller sur les détails sur l’index absent, et voici la suggestion de création de l’index. Vous voyez que c’est pas très très compliqué. Il a suggéré de créer un index sur l’email dans la table « Contact ». Donc CQFD. Je vais pas le créer tout de suite, parce que j’aimerais vous montrer des outils intégrés qui vous permettent de voir encore mieux ces problématiques d’index absent. Donc on va voir un peu comment s’aider sans avoir besoin d’énormes connaissances en SQL Server, déjà pour essayer d’améliorer les choses.

SQL Server 2016 : Maintenance des progiciels tiers

Exploitez les fonctionnalités de SQL Server afin de diminuer les problèmes, et améliorer les performances des progiciels. Faites face à ce problème très souvent rencontré !

1h16 (15 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :4 août 2016

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 !