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 :

Ordre des colonnes dans in Index


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 68
    Points : 40
    Points
    40
    Par défaut Ordre des colonnes dans in Index
    Bonjour,

    Je travaille sur une base SQL Server 2000. J'ai créé un index sur une colonne qui contient environ 1000000 lignes. Cet index concernait 2 colonnes C1, C2 de cette table.

    En mettant en prod cet index, et sachant qu'il y a environ 200 personnes environ qui utilisent cette base simultanément (et la table en question est souvent sollicitée), les requêtes sur la table concernée tournaient indéfiniment et bloquaient toutes les autres requête de la base.

    Nous savons que c'est à cause de l'index, car quand nous l'avons supprimé, Il n'y avait plus de blocage dans l'exécution des requêtes.

    Je me demande alors si l'ordre des colonnes dans l'index est en cause, sachant que les valeurs de la colonne C1 changent beaucoup plus souvent que celles de C2 (une valeurs de C2 pour 10000 valeurs de C1 environ).

    Si je recréé l'index en changeant l'ordre des colonnes (C2, C1), les performances de la base ne seront pas altérées?

    Merci pour votre aide.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    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 772
    Points : 52 735
    Points
    52 735
    Billets dans le blog
    5
    Par défaut
    Une indexation s'étudient en fonction de la sémantique des données, des transactions effectuées sur ces données et de la structures des tables et des colonnes. Sans cela les index que vous poserez seront autant de coups d'épée dans l'eau.

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

  3. #3
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Oui tu as raison,
    Mais il y a de plus en plus de requêtes dans ma base qui se font sur ces 2 colonnes, et je pense qu'avec cet index ça ira plus vite.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    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 772
    Points : 52 735
    Points
    52 735
    Billets dans le blog
    5
    Par défaut
    Met en premier la colonne la plus sélective. Pour le savoir :
    SELECT COUNT(DISTINCT c1) AS N1, COUNT(DISTINCT c2) AS N2
    FROM ...

    En premier la colonne qui renvoie le chiffre la plus élevé.

    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. [Reporting] ordre des colonnes dans une sortie de proc freq
    Par PhYx dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 22/07/2008, 18h04
  2. Ordre des colonnes dans une table
    Par c.langlet dans le forum Administration
    Réponses: 3
    Dernier message: 16/05/2007, 18h39
  3. Réponses: 1
    Dernier message: 02/05/2007, 15h16
  4. [vb6] Changez dynamiquement ordre des colonnes dans listview ?
    Par sun19 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 26/10/2006, 16h50
  5. [C#] ordre des colonnes dans un datagrid
    Par enfants dans le forum Windows Forms
    Réponses: 7
    Dernier message: 10/06/2006, 01h35

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