SlideShare a Scribd company logo
1 of 20
Les journées

SQL Server 2013

Un événement organisé par GUSS

#JSS2013
Les journées

SQL Server 2013

Statistiques

Christophe LAPORTE

Un événement organisé par GUSS

#JSS2013
Christophe LAPORTE
~ depuis 1997

6.5 <= SQL Server <= 2012

christophe_laporte@hotmail.fr
http://conseilit.wordpress.com/

@conseilit

#JSS2013
Merci Ă  nos sponsors

#JSS2013
Agenda
‱ 11 dĂ©mos pour comprendre les statistiques
‱ Q/R (s’il reste du temps)

#JSS2013
F5 – et la magie opùre
‱ SchĂ©matiquement, la requĂȘte est
– CompilĂ©e (parsing / algĂ©brisation / optimisation)
– Le plan d'exĂ©cution est mise en cache
– La requĂȘte est exĂ©cutĂ©e

‱ DĂ©mo 1 : plan d’exĂ©cution

#JSS2013
Pas de la magie : des statistiques
‱
‱
‱
‱

Informations générales
Densité
Histogramme
DĂ©mo 2 : montre-moi une statistique

#JSS2013
Et ça fonctionne
‱ Plutît bien
‱ Enfin pas tout le temps !
‱ DĂ©mo 3 : parameter sniffing

#JSS2013
CHECKPOINT - on se pose pour faire un point
‱ Fonctionne bien pour requĂȘte ad-hoc
‱ MalgrĂ© le problĂšme de parameter sniffing
‱ Les statistiques sont utiles pour crĂ©er un
"bon" plan d'exécution

#JSS2013
Que se passe t'il en l’absence de
statistiques

‱ Par dĂ©faut, si besoin de statistiques
– SQL Server va en gĂ©nĂ©rer

‱ DĂ©mo 4 :
– Paramùtre AUTO_CREATE_STATISTICS

‱ Pas un bon plan
– dans tous les sens du terme !

#JSS2013
Les statistiques auto générées
‱ DĂ©mo 5 : les statistiques auto gĂ©nĂ©rĂ©es
‱ Donc on conserve actif le paramùtre
AUTO_CREATE_STATISTICS

#JSS2013
Le problĂšme des statistiques (1)
‱ L’histogramme 

‱ Quand ?

– Nombre important de lignes dans table
– Nombreuses valeurs distinctes sur une colonne

‱ 200 valeurs + NULL

– ProblĂšme de prĂ©cision
– Problùme de distribution
– DĂ©mo 6

‱ Fonctionne bien

– si distribution homogùne
#JSS2013
Le problĂšme des statistiques (2)
‱ La mise Ă  jour des donnĂ©es
– DĂ©mo 7

‱ Mise à jour des statistiques
– Seuil : 20% + 500
– Rebuild Index
– Mise à jour manuelle des statistiques

‱ Autre solution : Trace flag 2371
– DĂ©mo 8
#JSS2013
TF 2371

#JSS2013
Le problĂšme des statistiques (3)
‱ Les nouvelles donnĂ©es
– Les statistiques se basent sur les donnĂ©es connues
– Estimer le nombre d’enregistrements hors plage
‱ < à la valeur minimale
‱ > à la valeur maximale

‱ DĂ©mo 9

#JSS2013
Le problĂšme des statistiques (4)
‱ PrĂ©sence de statistiques auto gĂ©nĂ©rĂ©es
–
–
–
–

Peut ĂȘtre un index manquant
Je créé l'index ! (merci de ne pas généraliser 
)
Mais la statistique auto générée reste
DĂ©mo 10

‱ Veiller à ne pas avoir de doublons
– Index <-> statistique auto gĂ©nĂ©rĂ©e
– Consomme des ressources lors de la mise à jour
#JSS2013
Quelques solutions
‱ Udate stats + frĂ©quents

– Attention aux statistiques auto gĂ©nĂ©rĂ©es
– Scripts de type Ola Hallengren

‱ statistiques filtrĂ©es

– Mais attention !
‱ Si donnĂ©es s’étendent sur plusieurs intervalles
‱ DĂ©mo 11

‱ Plan guides

– Attention : en optimisation, tout peut changer

‱ SQL 2014

– Nouveau Cost Estimator
– Statistiques incrĂ©mentales (tables partitionnĂ©es)
#JSS2013
RĂ©capitulatif
‱ Le plan d'exĂ©cution est dĂ©pendant des statistiques
‱ Des statistiques Ă  jour sont donc nĂ©cessaires
‱ Si l'on peut "sniffer" la valeur d'un paramùtre

– l'estimation provient de l'histogramme
– Estimation relativement prĂ©cise
– Si le plan est sauvegardĂ©, cette valeur sera utilisĂ©e pour les prochaines exĂ©cutions
(Procédures stockées)

‱ Si l'on ne peut pas "sniffer" le paramùtre

l'estimation provient de la densité
Estimation basée sur une "moyenne"
Le plan généré convient à la majorité des valeurs distinctes
Suivant les cas, ce sera aussi performant, ou moins performant qu'une estimation issue
d'un histogramme
– Si le plan est sauvegardĂ©, aucune valeur spĂ©cifique n'est liĂ©e au plan
– Fonctionne plutĂŽt bien lorsque la dispersion des donnĂ©es est homogĂšne
–
–
–
–

#JSS2013
Questions / RĂ©ponses
Merci à tous pour votre présence.

#JSS2013
#JSS2013
#JSS2013

More Related Content

Viewers also liked

Serveurs core et virtualisation
Serveurs core et virtualisationServeurs core et virtualisation
Serveurs core et virtualisationChristophe Laporte
 
[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocksGUSS
 
Tune my Code! Code-Versionen testen via Edition-Based Redef. - JĂ©rĂŽme Witt, d...
Tune my Code! Code-Versionen testen via Edition-Based Redef. - JĂ©rĂŽme Witt, d...Tune my Code! Code-Versionen testen via Edition-Based Redef. - JĂ©rĂŽme Witt, d...
Tune my Code! Code-Versionen testen via Edition-Based Redef. - JĂ©rĂŽme Witt, d...dbi services
 
Datit207 scénarios hybrides entre sql server et windows azure
Datit207   scénarios hybrides entre sql server et windows azureDatit207   scénarios hybrides entre sql server et windows azure
Datit207 scénarios hybrides entre sql server et windows azureChristophe Laporte
 
High performance jss 2012
High performance jss 2012High performance jss 2012
High performance jss 2012Christophe Laporte
 
[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analyticsGUSS
 
[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosqlGUSS
 
Jss2014 performance counters and dmvs
Jss2014   performance counters and dmvsJss2014   performance counters and dmvs
Jss2014 performance counters and dmvsChristophe Laporte
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéChristophe Laporte
 
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...dbi services
 
Haute disponibilité jss2012
Haute disponibilité jss2012Haute disponibilité jss2012
Haute disponibilité jss2012Christophe Laporte
 
SQL Server sur Azure dans tous ses Ă©tats !
SQL Server sur Azure dans tous ses Ă©tats !SQL Server sur Azure dans tous ses Ă©tats !
SQL Server sur Azure dans tous ses Ă©tats !Microsoft DĂ©cideurs IT
 
Always on les solutions de haute disponibilité avec sql server 2012 (dat302)
Always on les solutions de haute disponibilité avec sql server 2012 (dat302)Always on les solutions de haute disponibilité avec sql server 2012 (dat302)
Always on les solutions de haute disponibilité avec sql server 2012 (dat302)Christophe Laporte
 
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch TablesGUSS
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Viewers also liked (18)

Serveurs core et virtualisation
Serveurs core et virtualisationServeurs core et virtualisation
Serveurs core et virtualisation
 
[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks
 
JSS2013 : Hekaton
JSS2013 : HekatonJSS2013 : Hekaton
JSS2013 : Hekaton
 
Tune my Code! Code-Versionen testen via Edition-Based Redef. - JĂ©rĂŽme Witt, d...
Tune my Code! Code-Versionen testen via Edition-Based Redef. - JĂ©rĂŽme Witt, d...Tune my Code! Code-Versionen testen via Edition-Based Redef. - JĂ©rĂŽme Witt, d...
Tune my Code! Code-Versionen testen via Edition-Based Redef. - JĂ©rĂŽme Witt, d...
 
Fusion io
Fusion ioFusion io
Fusion io
 
Datit207 scénarios hybrides entre sql server et windows azure
Datit207   scénarios hybrides entre sql server et windows azureDatit207   scénarios hybrides entre sql server et windows azure
Datit207 scénarios hybrides entre sql server et windows azure
 
High performance jss 2012
High performance jss 2012High performance jss 2012
High performance jss 2012
 
[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics
 
[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql
 
Jss2014 performance counters and dmvs
Jss2014   performance counters and dmvsJss2014   performance counters and dmvs
Jss2014 performance counters and dmvs
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilité
 
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
 
Haute disponibilité jss2012
Haute disponibilité jss2012Haute disponibilité jss2012
Haute disponibilité jss2012
 
SQL Server sur Azure dans tous ses Ă©tats !
SQL Server sur Azure dans tous ses Ă©tats !SQL Server sur Azure dans tous ses Ă©tats !
SQL Server sur Azure dans tous ses Ă©tats !
 
Always on les solutions de haute disponibilité avec sql server 2012 (dat302)
Always on les solutions de haute disponibilité avec sql server 2012 (dat302)Always on les solutions de haute disponibilité avec sql server 2012 (dat302)
Always on les solutions de haute disponibilité avec sql server 2012 (dat302)
 
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar to JSS2013 : Statistiques

Journées SQL Server 3 problÚmes de performance
Journées SQL Server 3 problÚmes de performanceJournées SQL Server 3 problÚmes de performance
Journées SQL Server 3 problÚmes de performanceDavid BAFFALEUF
 
SQL Server : Tuning et Troubleshooting
SQL Server : Tuning et TroubleshootingSQL Server : Tuning et Troubleshooting
SQL Server : Tuning et TroubleshootingMicrosoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
JSS2014 – Performances et fausses bonnes idĂ©es
JSS2014 – Performances et fausses bonnes idĂ©esJSS2014 – Performances et fausses bonnes idĂ©es
JSS2014 – Performances et fausses bonnes idĂ©esGUSS
 
[JSS2015] 3 DMV's pour evaluer les indexs
[JSS2015] 3 DMV's pour evaluer les indexs[JSS2015] 3 DMV's pour evaluer les indexs
[JSS2015] 3 DMV's pour evaluer les indexsGUSS
 
JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1GUSS
 
L'IBM i est une plateforme en Ă©volution : innovations de la version 7.3
L'IBM i est une plateforme en Ă©volution : innovations de la version 7.3L'IBM i est une plateforme en Ă©volution : innovations de la version 7.3
L'IBM i est une plateforme en Ă©volution : innovations de la version 7.3Solutions IT et Business
 
JSS2014 – Performances et DMV
JSS2014 – Performances et DMVJSS2014 – Performances et DMV
JSS2014 – Performances et DMVGUSS
 
Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016Guillaume Nocent
 
[JSS2015] Query Store
[JSS2015] Query Store[JSS2015] Query Store
[JSS2015] Query StoreGUSS
 
Deep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL ServerDeep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL ServerMicrosoft
 
Importer 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4jImporter 500 millions de données de MySQL vers Neo4j
Importer 500 millions de donnĂ©es de MySQL vers Neo4jGabriel Pillet 🐙
 
Meetup juin2013
Meetup juin2013Meetup juin2013
Meetup juin2013nperu
 
[POSS 2018] Comment unifier ses dashboards par Grafana
[POSS 2018] Comment unifier ses dashboards par Grafana[POSS 2018] Comment unifier ses dashboards par Grafana
[POSS 2018] Comment unifier ses dashboards par GrafanaWorteks
 
Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Kenny Dits
 
Journées SQL Server - Optimisation SQL Server pour SharePoint
Journées SQL Server - Optimisation SQL Server pour SharePointJournées SQL Server - Optimisation SQL Server pour SharePoint
Journées SQL Server - Optimisation SQL Server pour SharePointBenoit Jester
 
Dans les coulisses de Google BigQuery - DevFest Toulouse 2016
Dans les coulisses de Google BigQuery - DevFest Toulouse 2016Dans les coulisses de Google BigQuery - DevFest Toulouse 2016
Dans les coulisses de Google BigQuery - DevFest Toulouse 2016Aurélie Vache
 
[JSS2015] x events
[JSS2015] x events[JSS2015] x events
[JSS2015] x eventsGUSS
 
Retour d'expérience de Sendinblue sur Logmatic.io, solutions d'analyse de log...
Retour d'expérience de Sendinblue sur Logmatic.io, solutions d'analyse de log...Retour d'expérience de Sendinblue sur Logmatic.io, solutions d'analyse de log...
Retour d'expérience de Sendinblue sur Logmatic.io, solutions d'analyse de log...Le_GFII
 

Similar to JSS2013 : Statistiques (20)

Journées SQL Server 3 problÚmes de performance
Journées SQL Server 3 problÚmes de performanceJournées SQL Server 3 problÚmes de performance
Journées SQL Server 3 problÚmes de performance
 
SQL Server : Tuning et Troubleshooting
SQL Server : Tuning et TroubleshootingSQL Server : Tuning et Troubleshooting
SQL Server : Tuning et Troubleshooting
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
JSS2014 – Performances et fausses bonnes idĂ©es
JSS2014 – Performances et fausses bonnes idĂ©esJSS2014 – Performances et fausses bonnes idĂ©es
JSS2014 – Performances et fausses bonnes idĂ©es
 
[JSS2015] 3 DMV's pour evaluer les indexs
[JSS2015] 3 DMV's pour evaluer les indexs[JSS2015] 3 DMV's pour evaluer les indexs
[JSS2015] 3 DMV's pour evaluer les indexs
 
JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1
 
L'IBM i est une plateforme en Ă©volution : innovations de la version 7.3
L'IBM i est une plateforme en Ă©volution : innovations de la version 7.3L'IBM i est une plateforme en Ă©volution : innovations de la version 7.3
L'IBM i est une plateforme en Ă©volution : innovations de la version 7.3
 
JSS2014 – Performances et DMV
JSS2014 – Performances et DMVJSS2014 – Performances et DMV
JSS2014 – Performances et DMV
 
Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016
 
[JSS2015] Query Store
[JSS2015] Query Store[JSS2015] Query Store
[JSS2015] Query Store
 
Deep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL ServerDeep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL Server
 
Importer 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4jImporter 500 millions de données de MySQL vers Neo4j
Importer 500 millions de données de MySQL vers Neo4j
 
Meetup juin2013
Meetup juin2013Meetup juin2013
Meetup juin2013
 
Presentation Map Reduce
Presentation Map ReducePresentation Map Reduce
Presentation Map Reduce
 
[POSS 2018] Comment unifier ses dashboards par Grafana
[POSS 2018] Comment unifier ses dashboards par Grafana[POSS 2018] Comment unifier ses dashboards par Grafana
[POSS 2018] Comment unifier ses dashboards par Grafana
 
Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?Monitoring applicatif : Pourquoi et comment ?
Monitoring applicatif : Pourquoi et comment ?
 
Journées SQL Server - Optimisation SQL Server pour SharePoint
Journées SQL Server - Optimisation SQL Server pour SharePointJournées SQL Server - Optimisation SQL Server pour SharePoint
Journées SQL Server - Optimisation SQL Server pour SharePoint
 
Dans les coulisses de Google BigQuery - DevFest Toulouse 2016
Dans les coulisses de Google BigQuery - DevFest Toulouse 2016Dans les coulisses de Google BigQuery - DevFest Toulouse 2016
Dans les coulisses de Google BigQuery - DevFest Toulouse 2016
 
[JSS2015] x events
[JSS2015] x events[JSS2015] x events
[JSS2015] x events
 
Retour d'expérience de Sendinblue sur Logmatic.io, solutions d'analyse de log...
Retour d'expérience de Sendinblue sur Logmatic.io, solutions d'analyse de log...Retour d'expérience de Sendinblue sur Logmatic.io, solutions d'analyse de log...
Retour d'expérience de Sendinblue sur Logmatic.io, solutions d'analyse de log...
 

JSS2013 : Statistiques

  • 1. Les journĂ©es SQL Server 2013 Un Ă©vĂ©nement organisĂ© par GUSS #JSS2013
  • 2. Les journĂ©es SQL Server 2013 Statistiques Christophe LAPORTE Un Ă©vĂ©nement organisĂ© par GUSS #JSS2013
  • 3. Christophe LAPORTE ~ depuis 1997 6.5 <= SQL Server <= 2012 christophe_laporte@hotmail.fr http://conseilit.wordpress.com/ @conseilit #JSS2013
  • 4. Merci Ă  nos sponsors #JSS2013
  • 5. Agenda ‱ 11 dĂ©mos pour comprendre les statistiques ‱ Q/R (s’il reste du temps) #JSS2013
  • 6. F5 – et la magie opĂšre ‱ SchĂ©matiquement, la requĂȘte est – CompilĂ©e (parsing / algĂ©brisation / optimisation) – Le plan d'exĂ©cution est mise en cache – La requĂȘte est exĂ©cutĂ©e ‱ DĂ©mo 1 : plan d’exĂ©cution #JSS2013
  • 7. Pas de la magie : des statistiques ‱ ‱ ‱ ‱ Informations gĂ©nĂ©rales DensitĂ© Histogramme DĂ©mo 2 : montre-moi une statistique #JSS2013
  • 8. Et ça fonctionne ‱ PlutĂŽt bien ‱ Enfin pas tout le temps ! ‱ DĂ©mo 3 : parameter sniffing #JSS2013
  • 9. CHECKPOINT - on se pose pour faire un point ‱ Fonctionne bien pour requĂȘte ad-hoc ‱ MalgrĂ© le problĂšme de parameter sniffing ‱ Les statistiques sont utiles pour crĂ©er un "bon" plan d'exĂ©cution #JSS2013
  • 10. Que se passe t'il en l’absence de statistiques ‱ Par dĂ©faut, si besoin de statistiques – SQL Server va en gĂ©nĂ©rer ‱ DĂ©mo 4 : – ParamĂštre AUTO_CREATE_STATISTICS ‱ Pas un bon plan – dans tous les sens du terme ! #JSS2013
  • 11. Les statistiques auto gĂ©nĂ©rĂ©es ‱ DĂ©mo 5 : les statistiques auto gĂ©nĂ©rĂ©es ‱ Donc on conserve actif le paramĂštre AUTO_CREATE_STATISTICS #JSS2013
  • 12. Le problĂšme des statistiques (1) ‱ L’histogramme 
 ‱ Quand ? – Nombre important de lignes dans table – Nombreuses valeurs distinctes sur une colonne ‱ 200 valeurs + NULL – ProblĂšme de prĂ©cision – ProblĂšme de distribution – DĂ©mo 6 ‱ Fonctionne bien – si distribution homogĂšne #JSS2013
  • 13. Le problĂšme des statistiques (2) ‱ La mise Ă  jour des donnĂ©es – DĂ©mo 7 ‱ Mise Ă  jour des statistiques – Seuil : 20% + 500 – Rebuild Index – Mise Ă  jour manuelle des statistiques ‱ Autre solution : Trace flag 2371 – DĂ©mo 8 #JSS2013
  • 15. Le problĂšme des statistiques (3) ‱ Les nouvelles donnĂ©es – Les statistiques se basent sur les donnĂ©es connues – Estimer le nombre d’enregistrements hors plage ‱ < Ă  la valeur minimale ‱ > Ă  la valeur maximale ‱ DĂ©mo 9 #JSS2013
  • 16. Le problĂšme des statistiques (4) ‱ PrĂ©sence de statistiques auto gĂ©nĂ©rĂ©es – – – – Peut ĂȘtre un index manquant Je crĂ©Ă© l'index ! (merci de ne pas gĂ©nĂ©raliser 
) Mais la statistique auto gĂ©nĂ©rĂ©e reste DĂ©mo 10 ‱ Veiller Ă  ne pas avoir de doublons – Index <-> statistique auto gĂ©nĂ©rĂ©e – Consomme des ressources lors de la mise Ă  jour #JSS2013
  • 17. Quelques solutions ‱ Udate stats + frĂ©quents – Attention aux statistiques auto gĂ©nĂ©rĂ©es – Scripts de type Ola Hallengren ‱ statistiques filtrĂ©es – Mais attention ! ‱ Si donnĂ©es s’étendent sur plusieurs intervalles ‱ DĂ©mo 11 ‱ Plan guides – Attention : en optimisation, tout peut changer ‱ SQL 2014 – Nouveau Cost Estimator – Statistiques incrĂ©mentales (tables partitionnĂ©es) #JSS2013
  • 18. RĂ©capitulatif ‱ Le plan d'exĂ©cution est dĂ©pendant des statistiques ‱ Des statistiques Ă  jour sont donc nĂ©cessaires ‱ Si l'on peut "sniffer" la valeur d'un paramĂštre – l'estimation provient de l'histogramme – Estimation relativement prĂ©cise – Si le plan est sauvegardĂ©, cette valeur sera utilisĂ©e pour les prochaines exĂ©cutions (ProcĂ©dures stockĂ©es) ‱ Si l'on ne peut pas "sniffer" le paramĂštre l'estimation provient de la densitĂ© Estimation basĂ©e sur une "moyenne" Le plan gĂ©nĂ©rĂ© convient Ă  la majoritĂ© des valeurs distinctes Suivant les cas, ce sera aussi performant, ou moins performant qu'une estimation issue d'un histogramme – Si le plan est sauvegardĂ©, aucune valeur spĂ©cifique n'est liĂ©e au plan – Fonctionne plutĂŽt bien lorsque la dispersion des donnĂ©es est homogĂšne – – – – #JSS2013
  • 19. Questions / RĂ©ponses Merci Ă  tous pour votre prĂ©sence. #JSS2013