#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS 3 problèmes de performance Benjamin VESAN David BAFFALEUF
#JSS2013 Merci à nos sponsors
#JSS2013 Présentation Leader SGBD reconnu en France Conseil Service Formation DBA à distance Management d’infrastructures IT hétérogènes Support Management Technical Management Data Management Production Management David Baffaleuf Benjamin Vesan
#JSS2013 Dieux de la démo … soyez avec nous
#JSS2013 Problème n°1 Démo, résumé, élément clés… Problème n°2 Démo, résumé, élément clés… Problème n°3 Démo, résumé, élément clés… Agenda
#JSS2013 Problème n°1
#JSS2013 Résumé Problème n°1 Un UPDATE contre un SELECT Vérification des attentes Création d’un index conseillé par l’optimiseur Passage en mode RCSI
#JSS2013 Les leçons du problème n°1 Utiliser les attentes pour comprendre d’où vient la contention. Penser à les réinitialiser sinon elles ne veulent plus rien dire. Ne pas croire tout ce que dit l’optimiseur (ou DTA). Vérifier l’impact sur les mises à jour. Le passage en mode RCSI va fragmenter les indexes. Il faut penser à les reconstruire tout de suite après.
#JSS2013 Problème n°2
#JSS2013 Résumé Problème n°2 Recompilation à outrance Suppression de la mise à jour automatique des statistiques d’une table Analyse des lenteurs via les statistiques d’exécution et le plan d’exécution Création d’indexe filtré pour aider l’Optimizer à estimer les coûts.
#JSS2013 Les leçons du problème n°2 Les attentes restent le meilleur moyen d’analyser un problème ! Le réflexe « Mise à jour des Statistiques » n’est pas toujours payant. La mise à jour automatique des Statistiques à ses limites Une compilation est coûteuse, surtout lorsqu’elle consomme beaucoup de mémoire Une statistique, même multi colonnes, peut ne pas suffire à représenter les données Indexes et statistiques filtrés sont de très bons objets de gestion de performance
#JSS2013 Problème n°3
#JSS2013 Résumé Problème n°3 Utilisation d’une UDF scalaire dans une jointure Remplacée par une jointure simple Baisse du query memory grant en annulant le tri. Une information métier vient nous aider à aller encore plus vite. Mise en place du caching de tables temporaires. Enfin mesure des effets d’une mauvaise répartition des données dans une table.
#JSS2013 Les leçons du problème n°3 Scalar UDF = Connaître la logique métier. Coder en procédures stockées… aussi pour le caching des tables tempo. Connaître les données.
#JSS2013 Les outils Big Adventure Works: adventure.aspx adventure.aspx SQL Query Stress: SQL Sentry Plan Explorer: query-view.asphttp:// query-view.asp
#JSS2013 Questions / Réponses Merci à tous pour votre présence.
#JSS2013 O-T HAPPY MIKEDAVEM !!! Oct 2013
#JSS2013