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

MS SQL Server Discussion :

Logical fragmentation - Fill Factor


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur .Net, Administrateur système
    Inscrit en
    Octobre 2003
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .Net, Administrateur système
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 219
    Par défaut Logical fragmentation - Fill Factor
    Bonjour,

    Apres reindexation en changeant le fill factor, j'ai encore des tables qui sont très fragmentées

    pour 300 tables, j'ai 30 tables dont la fragmentation logique est supérieure à 80%

    J'ai essayé la défragmentation (dbcc IndexDefrag) mais cela n'a rien changé.

    La plupart des tables ont des structures assez simple. Par exemple, une des tables qui est fragmentée à 80% contient 2 varchar(5), 4 décimaux (8,2) et 3 entiers. Le nombre de ligne est inférieur à 1000. Chaque table a au moins un index Cluster.

    J'ai remarqué que je pouvais résoudre en adaptant un fill factor spécifique. Des fois un fill factor de 90 pouvait réduire la fragmentation. Des fois il faut un fill factor de 10.

    La base est hors ligne.

    Comment dois je comprendre le fait qu'un fill factor innaproprié augmente la fragmentation de la table ?

    Je n'ai pas encore adapté un fill factor spécifique pour l'ensemble des tables fragmentées.

    Merci pour votre aide

  2. #2
    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
    De manière générale si un index est fragmenté à plus de 30% il est préférable d'utiliser un DBCC REINDEX (sur 2000).

    Attention cependant si vous avez des tables de petite taille (nombre de pages faible) car celles-ci resteront fragmentées malgré tout.

    ++

  3. #3
    Membre éclairé
    Profil pro
    Développeur .Net, Administrateur système
    Inscrit en
    Octobre 2003
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .Net, Administrateur système
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 219
    Par défaut
    Est ce que 700 lignes est une petite table ? (4 pages de données) Si oui alors ça va. A partir de combien de page de données, considère t-on une table de taille moyenne ?

    En augmentant le fill factor à 90, je diminue la fragmentation au niveau Leaf. En réduisant le fill factor à 10 je diminue la fragmentation au niveau table.
    Jamais les deux en même temps

    Merci pour votre aide

  4. #4
    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
    Est ce que 700 lignes est une petite table ? (4 pages de données) Si oui alors ça va. A partir de combien de page de données, considère t-on une table de taille moyenne ?
    Oui ca reste une petite table.
    Moi je prends systématiquement les tables dont le nombre de pages est supérieur à 1000 (8MB)

    En augmentant le fill factor à 90, je diminue la fragmentation au niveau Leaf. En réduisant le fill factor à 10 je diminue la fragmentation au niveau table.
    Jamais les deux en même temps
    Globalement diminuer le FILL FACTOR permet d'éviter le phénomène de split des pages dans l'index (donc la fragmentation) ... en réservant plus de d'espace libre pour les futures données mais peut augmenter considérablement la taille de l'index. Mais cet avantage n'est que temporaire car au fur et à mesure que l'index se remplit, on perd cet espace réservé. Il convient donc de défragmenter l'index régulièrement

    ++

  5. #5
    Membre averti
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Par défaut Script indexdefrag et rebuild ?
    Bonjour,


    Auriez vous un script pour sql 2000, qui fait un defrag pour les index < 30% et une reconstruction au-delà de 30%.


    Merci d'avance

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par erdoganak Voir le message
    Auriez vous un script pour sql 2000, qui fait un defrag pour les index < 30% et une reconstruction au-delà de 30%.
    un lien

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

Discussions similaires

  1. Fill factor des index
    Par eponette dans le forum Firebird
    Réponses: 7
    Dernier message: 27/03/2008, 16h24
  2. [VB6] [MDI] Signaler la fermeture d'une fille à la mère
    Par cpri1shoot dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/04/2004, 08h57
  3. [MDI] Ouvrir immédiatement une fenetre fille
    Par phil56 dans le forum C++Builder
    Réponses: 8
    Dernier message: 12/03/2003, 14h27
  4. [VB6] [MDI] Menus contextuels dans les filles
    Par Rosec dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/09/2002, 14h00
  5. icône d'une fenêtre fille
    Par bastien dans le forum C++Builder
    Réponses: 6
    Dernier message: 27/05/2002, 13h46

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