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

Développement SQL Server Discussion :

Statistiques d'un index à la création


Sujet :

Développement SQL Server

  1. #1
    Membre éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut Statistiques d'un index à la création
    Bonjour,

    J'ai une question technique sur laquelle on est pas d'accord entre mon chef et moi.

    Lors de la création d'un index (sur SQL Server 2000 en particulier, mais la réponse m'intéresse pour les versions ultérieures également), les statistiques sont calculées une première fois ? ou faut-il lancer un update statistics après l'avoir créé ?

    Pour moi, il me semble logique que les statistiques d'index soient calculées au moins à la création.

    Est ce qu'il est possible de désactiver le calcul des statistiques à la création d'un index ? Et si il y a un paramétrage de la table/base/whatever qui peut empêcher le calcul initial des statistiques, quel est il ?

    Merci à vous

  2. #2
    Invité
    Invité(e)
    Par défaut
    Pourquoi tu n'as pas fais le test toi même ???
    Pour 2000, les nouvelles statistiques en rapport avec le nouvel index sont effectivement calculé lors de la création.

    Quel est l'intérêt d'avoir un index dont les statistiques associés ne sont pas à jour ?

  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
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    1) par défaut les statistiques sont calculées lors de la création avec un échantillon de 100%
    2) en précisant STATISTICS_NORECOMPUTE = ON, les statistiques ne seront pas recalculées
    3) vous pouvez mettre à jour les statistiques manuellement à l'aide de UPDATE STATISTICS ou de la procédure sp_updatestats

    mais quel est votre but ?

    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 éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut
    Je dois recréer des index qui ont disparu d'une base de données (les utilisateurs parfois jouent les apprentis sorciers, et on a des surprises...)

    Pour ça, je lance donc la création de mes index, et il m'a été demandé de relancer le calcul des statistiques juste après avoir lancé la création d'index car "les statistiques ne sont pas calculées à la création".

    Les index d'origines ont étés créés sans préciser STATISTICS_NORECOMPUTE = ON

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Non, le recalcul des stats n'est pas nécessaire juste après la création des index car ils sont recalculés dans la foulée.
    De plus si vous avez activé (par défaut c'est oui) l'option de base de données AUTO_UPDATE_STATISTICS, alors les statistiques seront recalculées dès que SQL Server l'estimera nécessaire.

    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/ * * * * *

Discussions similaires

  1. Placer des index après création d'une table
    Par defluc dans le forum Outils
    Réponses: 4
    Dernier message: 03/07/2007, 19h55
  2. Réponses: 3
    Dernier message: 18/11/2005, 13h37
  3. Création d'Index
    Par viny dans le forum Requêtes
    Réponses: 2
    Dernier message: 08/12/2003, 13h20
  4. Création de table avec index
    Par Seb7 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/04/2003, 16h11
  5. [xsl][XML] création d'un index
    Par Boosters dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 28/11/2002, 08h29

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