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 :

Réindexation d'une table


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut Réindexation d'une table
    Bonjour tout le monde,
    j'aimerais bien savoir comment faire pour réindexer une table? faut il juste supprimer les index et de les recréer?
    ça sert à quoi de réindexer une table?
    il y a plusieurs types d'index, comment en choisir le meilleur?
    ma sélection sur la table se fait sur 4 champs en général, faut il indexer les 4 champs ou quoi?
    ma table contient presque 10 colonnes et 3 millions d'enregistrement et j'ai constaté une lenteur immense lors de l'accès à cette table. je l'ai indexé sur deux champs mais je ne sais pas si c'est suffisant ou pas!
    qu'est ce que vous me proposez?
    merci d'avance
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  2. #2
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    Merci d'indiquer la version de SQL Server.
    Un article pour t'aider à optimiser : http://rudi.developpez.com/sqlserver.../optimisation/

  3. #3
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    pardon.
    je travaille sur SQL SERVER 2000
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  4. #4
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    tout d'abord, est ce que la réindexation a vraiement un sens?i.e est ce que c'est judicieux de faire une indexation ou pas?

    m'ci
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  5. #5
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    Oui, la réindexation a un sens, pour défragmenter l'index ou pour défragmenter la table en cas d'index clustered.
    DBCC DBREINDEX est utile pour les index très fragmentés
    DBCC INDEXDEFRAG est plus léger, pour les index moins fragmentés.
    DBCC SHOWCONTIG te permet d'avoir une idée de la fragmentation actuelle.

    Ces commandes sont valables pour 2000. En 2005, les méthodes ont changé (bien que ces commandes soient toujours disponibles).

    Pour une info poussée, tu peux lire le document suivant :
    http://www.microsoft.com/technet/pro.../ss2kidbp.mspx
    Mon article sur les statistiques te donne aussi des infos utiles :
    http://rudi.developpez.com/sqlserver.../statistiques/

    L'idéal est de planifier une défragmentation régulière, dans une fenêtre administrative, à l'aide d'un plan de maintenance.

  6. #6
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

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

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    tu as une fonction transac qui s'appelle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DBCC DBREINDEX(matable,monindex,taux)
    a l'ordre près des paramètres => voir doc

    ma sélection sur la table se fait sur 4 champs en général, faut il indexer les 4 champs ou quoi?
    si l'association de tes 4 champs est unique créé un index avec les 4

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CREATE UNIQUE INDEX monindex on ma table (champ1,champ2,champ3,champ4)
    mais il faut que tes champs soient non null et il vaudrait mieux que le type de tes champs soient "indexables". ex: par de champ text, image.

Discussions similaires

  1. Trouver le dernier enregistrement d'une table
    Par remi59 dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/03/2003, 14h54
  2. Erreur lors de modification d'une table
    Par seb.49 dans le forum SQL
    Réponses: 11
    Dernier message: 13/01/2003, 17h16
  3. Pb d'auto-incrément sur une table v7
    Par Nivux dans le forum Paradox
    Réponses: 9
    Dernier message: 26/12/2002, 12h05
  4. [ADO] Tester l'existence d'une table
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/09/2002, 13h55

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