IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Best Practices Statistiques [2016]


Sujet :

Administration SQL Server

  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 33
    Par défaut Best Practices Statistiques
    Bonjour
    je viens d'arriver sur mon nouveau poste et en effectuant un petit tour des bases et instances, je m'aperçois que l'ensemble des bases qui sont utilisées on les options :
    - création automatique des stats : True
    - mise a jour automatiques des stats : True

    vu que je ne trouve pas de plan de maintenance ou de jobs d'update de statistiques.
    Puis je faire confiance au moteur SQL quant a la bonne gestion des stats ou bien dois je mettre en place un job de maintenance ?

    Merci pour vos retour et prenez soin de vous.

  2. #2
    Membre émérite

    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2014
    Messages
    817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 817
    Billets dans le blog
    2
    Par défaut
    personnellement je Désactive l'auto update stats et je fait un calcul en mode FULLSCAN

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 992
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 992
    Billets dans le blog
    6
    Par défaut
    Non, ne pas désactiver l'auto update stats car elle est utilisé si les données ont notablement changé au cous de l'exploitation ordinaire des données. Ce serait dommage qu'une requête parte subitement en live parce que les stats sont obsolète et que l'auto update est désactivé....
    En version Entreprise mettez le en asynchrone (il faut activer les deux)
    Si vous avez des tables partitionnées, activez les stats incrémentales.

    Mais dans tous les cas une maintenance aux heures creuses en reconstruction en mode FULLSCAN avec un indice de sélection progressif est une bonne chose !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 33
    Par défaut
    merci pour ces retours.

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2013
    Messages : 33
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    .... En version Entreprise mettez le en asynchrone (il faut activer les deux) ...

    Mais dans tous les cas une maintenance aux heures creuses en reconstruction en mode FULLSCAN avec un indice de sélection progressif est une bonne chose !

    A +
    C'est a dire ?
    en P.J. les option d'une de mes bases.
    Images attachées Images attachées  

  6. #6
    Membre émérite

    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2014
    Messages
    817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 817
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Non, ne pas désactiver l'auto update stats car elle est utilisé si les données ont notablement changé au cous de l'exploitation ordinaire des données. Ce serait dommage qu'une requête parte subitement en live parce que les stats sont obsolète et que l'auto update est désactivé....
    En version Entreprise mettez le en asynchrone (il faut activer les deux)
    Si vous avez des tables partitionnées, activez les stats incrémentales.

    Mais dans tous les cas une maintenance aux heures creuses en reconstruction en mode FULLSCAN avec un indice de sélection progressif est une bonne chose !

    A +
    ce ci est aussi pour les grosses tables ?

  7. #7
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Pour les grosses tables il y a une variété d'options à disposition (en fonction de la version) pour tenter le FULLSCAN et minimiser le temps de l'opération mais en général celles-ci requierent soit plus de ressources pour aller plus vite ou un changement structurel au niveau de la table. Au travers de mes différentes expériences sur le sujet j'ai pu utiliser les techniques suivantes:

    - Découpage de la maintenance des statistiques sur plusieurs jours

    - Parallélisation de la mise à jour des statistiques avec le trace flag 7471 - Nécessite d'avoir des ressources qui tiennent la route (CPU, IO et mémoire)

    - Etude de la distribution des données pour les statistiques et choix de la méthode FULLSCAN ou SAMPLE.
    Si la méthode SAMPLE peut être judicieuse à utiliser, il peut arriver un moment où en fonction du taux d'échantillonnage utilisé que la méthode FULLSCAN soit plus rapide. FULLSCAN est exécuté en parallèle alors que pour SAMPLE ce n'est pas le cas

    - Partitionement + statistiques incrémentales
    Bien garder en tête que ce mécanisme est uniquement dédié à réduire la fenêtre de maintenance. L'optimiseur n'utilise pas les statistiques au niveau partition mais uniquement la statistique au niveau globale

    ++

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 992
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 992
    Billets dans le blog
    6
    Par défaut
    Pour le découpage de la maintenance sur plusieurs jours j'utilise la technique suivante :
    1) analyse des stats qui nécessitent un recalcul
    2) tirage au sort d'une stat pour la recalculer avec un GUID
    3) vérification du temps restant:
    • si dépassé arrêter le process
    • sinon boucler en 2



    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 16/06/2006, 13h46
  2. swing best practices.
    Par bbclone dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 07/06/2006, 10h14
  3. Réponses: 4
    Dernier message: 23/05/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo