journées sql server 3 problèmes de performance

19
#JSS2013 es journées SQL Server 2013 n événement organisé par GUSS

Upload: david-baffaleuf

Post on 29-Jul-2015

79 views

Category:

Technology


1 download

TRANSCRIPT

#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 performanceBenjamin VESAN David BAFFALEUF

#JSS2013

Merci à nos sponsors

#JSS2013

PrésentationLeader SGBD reconnu en Francewww.capdata.fr Conseil Service Formation DBA à distance

Management d’infrastructures IT hétérogèneswww.osmozium.com Support Management Technical Management Data Management Production Management

http://www.youtube.com/user/CapdataTV/

David Baffaleufhttp://[email protected] @dbaffaleuf

Benjamin Vesanhttp://[email protected] @captain_BV

#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: http://

sqlblog.com/blogs/adam_machanic/archive/2011/10/17/thinking-big-adventure.aspx

• SQL Query Stress: http://www.datamanipulation.net/sqlquerystress/

• SQL Sentry Plan Explorer: http://www.sqlsentry.net/plan-explorer/sql-server-query-view.asp

#JSS2013

Questions / Réponses

Merci à tous pour votre présence.

#JSS2013

O-T

HAPPY

MIKEDAVEM !!!

Oct 2013

#JSS2013#JSS2013