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 :

Grosse Fragmentation sur indexes


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2007
    Messages : 125
    Par défaut Grosse Fragmentation sur indexes
    Bonjour,

    Sur l'un de mes serveurs SQL server 2005 f'ai constaté une grosse fragmentation de mes indexes.J'ai donc effectué un REORGANIZE ou un REBUILD suivant le cas .

    Le souci c'est que sur certain indexe ca n'a pas fonctionné meme en effectuant les deux (REORGANIZE puis REBUILD )

    ex:
    AVEC la vue :sys.dm_db_index_physical_stats
    ---------------------------------------------
    NomObjet NomIndex NoPartition CoeffFragmentation page_count
    x y 1 75 4


    AVEC SHOWCONTIG
    -------------------

    Level Pages Rows ScanDensity LogicalFragmentation AveragePageDensity
    0 4 1751 25 75 75


    J'ai constaté que se sont principalement les indexes possedant peu de pages
    (54<)

    Y a t il un lien entre le nombre de page et la fragmentation? que puis je faire pour diminuer le "avg_fragmentation_in_percent" de ces indexes?

    Merci de votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Effectivement le faible nombre de pages explique le taux de fragmentation que vous obtenez, qui est très loin d'être inquiétant.
    Il me semble que Microsoft signifie dans la documentation que la reconstruction d'une index (REBUILD) ne procure aucun gain en dessous d'une centaine de pages, c'est à dire sur des petites tables.

    Vous devez faire la différence entre les options REBUILD et REORGANIZE :

    - REBUILD est une opération atomique, alors que REORGANIZE ne l'est pas.
    Cela signifie que si vous arrêtez la requête de REBUILD en cours d'exécution, tout le travail du moteur de base de données est perdu. Ce n'est pas le cas de REORGANIZE.

    - REORGANIZE ne fait que réorganiser le niveau feuille de l'index, et n'utilise aucune nouvelle page. REBUILD reconstruit tous les niveaux de l'index, et se sert au besoin de nouvelles pages, de façon à réduire la fragmentation interne et externe de l'index. REORGANIZE ne fait que réduire la fragmentation logique de l'index.

    - REBUILD est exécutée hors-ligne, c'est-à-dire que vous ne pouvez pas mettre à jour la table tant que le REBUILD est en cours d'exécution.
    REORGANIZE ne maintient pas ces verrous et vous permet de continuer à effectuer des mises à jour sur la table cible du REORGANIZE.

    @++

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2007
    Messages : 125
    Par défaut
    Merci beaucoup de ton explication.C'est beaucoup plus clair maintenant
    Juste une toute petite derniere question . Le REBUILD est exécuté hors-ligne mais est ce aussi le cas pour une version Entreprise?

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Effectivement vous faites bien de le relever
    le REBUILD dans une édition Enterprise peut se faire avec l'option ONLINE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER INDEX monIndex
    ON dbo.maTable
    REBUILD WITH (ONLINE = ON)
    Le moteur de base de données défragmente alors l'index dans une copie de celui-ci, et les modifications apportées à la table sont répercutées dans les deux indexes, donc cela engendre un coût en consommation de ressources élevé.
    Quand l'opération est terminée, le nouvel index est "attaché" à la table, et l'ancien est supprimé.

    @++

  5. #5
    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
    Prévoyez donc la place pour l'opération de réindexation en ligne .... Vous avez le double de l'index à un instant t

    ++

Discussions similaires

  1. Grosse énigme sur les propriétés indexées
    Par chtiantoine dans le forum Struts 1
    Réponses: 3
    Dernier message: 10/12/2006, 19h13
  2. Grosse ecriture sur google
    Par taki_38 dans le forum Windows
    Réponses: 7
    Dernier message: 10/05/2006, 10h20
  3. Réponses: 1
    Dernier message: 10/04/2006, 20h22
  4. [phpBB] Champ recherche sur index
    Par Dace dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 01/11/2005, 18h51
  5. [pseudocode]Incompréhesnion pour un tri sur index
    Par ImpaCt dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 29/08/2005, 23h52

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