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 :

index sur une table


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de solo190
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 412
    Par défaut index sur une table
    bonjour à tous,
    voici une table que j'ai créé et j'aimerais savoir si mon index est efficasse et j'aimerais ajouter un second pour la clause where.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    CREATE TABLE [dbo].[Sto_Imprime](
    	[Numero_Operation] [char](10) NOT NULL,
    	[Code_Type_Imprime] [char](1) NOT NULL,
    	[Numero_Imprime] [char](10) NOT NULL,
    	[Cout_Unitaire] [money] NOT NULL,
    	[Code_Statut_Imprime] [char](2) NOT NULL,
    	[Code_Magasin] [char](4) NOT NULL,
    	[Code_Intermediaire] [char](4) NOT NULL,
    	[Numero_Quittance] [char](16) NOT NULL,
    	[Numero_Identification] [varchar](15) NOT NULL,
     CONSTRAINT [PK_Sto_Imprime] PRIMARY KEY NONCLUSTERED 
    (
    	[Numero_Operation] ASC,
    	[Code_Type_Imprime] ASC,
    	[Numero_Imprime] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR = 70) ON [PRIMARY]
    ) ON [PRIMARY]
    s'il vous plait dite moi quel est le second index que je peux mettre sur cette table car mon application devient de plus en plus lente.
    Mercid de votre soutient !

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Indépendament de l'index, déjà une bonne chose serait de ne pas utiliser des types CHAR ou VARCHAR pour des donées numériques. L'utilisation de types appropriés permettra sûrement d'accélérer les choses...

    Ensuite, vu le DDL posté, il n'y a aucune clef étrangère.

    Il y a donc un problème de modélisation à la base.

    Ensuite pour les index, il faut les positionner judicieusement, notamment sur les colonnes qui servent à filtrer dans les clauses WHERE, et sur celles qui servent aux jointures (les clefs étrangères).
    Donc en gros, pour décider si oui ou non il faut un index sur une colonne, il faut regarder l'utilisation qui en est faite...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    La lenteur au niveau de ton application peut etre engendre par plusieurs problemes.
    Commence par determiner le talon d'Achile de ton application qui peut etre :
    1. La lenteur de ton application (Mauvais design de ta couche de presentation, business ou d'acces au donnees);
    2. La lenteur de ta base de donnees (Lenteurs d'execution des requetes);
    3. Le manque de ressources de ton serveur de base de donnees

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  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
    22 001
    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 001
    Billets dans le blog
    6
    Par défaut
    De plus une PK composée de 3 colonnes avec en tout 21 octets, c'est parfaitement dégueulasse en terme de performances....
    En sus, cette PJ est sémantique, alors que par principe, pour de bonnes performances et pour une évolution aisée de mon modèle, il faudrait utiliser TOUJOURS des clef primaires asémantique, comme les auto incréments.

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

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

Discussions similaires

  1. Mise a jour d'un index sur une table de 22 colonnes
    Par loupin dans le forum Oracle
    Réponses: 4
    Dernier message: 09/08/2007, 07h26
  2. [SQL 2005 SP1] Pb de plage d'index sur une table répliquée
    Par Peck777 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 28/08/2006, 18h55
  3. Parametrer le nombre d'index sur une table
    Par Invité dans le forum Access
    Réponses: 1
    Dernier message: 17/05/2006, 11h36
  4. MySQL - Probleme avec 2 index sur une table
    Par xG-Hannibal dans le forum Outils
    Réponses: 7
    Dernier message: 31/03/2006, 14h08

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