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 cluster et contrainte


Sujet :

Administration SQL Server

  1. #1
    Membre émérite

    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2014
    Messages
    817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Novembre 2014
    Messages : 817
    Billets dans le blog
    2
    Par défaut Index cluster et contrainte
    bonjour a tous
    Je débute dans quelque jour dans un grand projet de mis en place d'une base de donnée de production qui peuvent atteindre une volume de quelque To de données avec plusieurs milliers d'utilisateurs ,Pour optimiser au maximum cette base je souhaite que la partie conception soit correcte
    Pour cela je doute devant deux cas
    Du point de vue performance Quel est la meilleure cas entre ces deux scénario sa chant les deux colonnes ID et col1 sont de méme Type INT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE TABLE TestTable
    (ID INT NOT NULL PRIMARY KEY NONCLUSTERED,
    Col1 INT NOT NULL unique CLUSTERED)
    GO
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    creaTE TABLE TestTable2
    (ID INT NOT NULL PRIMARY Key,
    Col1 INT NOT NULL unique nonCLUSTERED)
    go
    merci pour l'aide de nos experts

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 640
    Billets dans le blog
    10
    Par défaut
    Tout va dépendre des requetes qui seront exécutées sur cette table, l'index cluster est l'index de rangement, s'il correspond a des requetes fréquentes ou qui collectent beaucoup de lignes c'est bien
    Pour des tables à fortes volumétries, pensez surtout au partitionnement

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 010
    Billets dans le blog
    6
    Par défaut
    Et aux jointures !

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

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Billets dans le blog
    8
    Par défaut
    En plus de ce qui a été dit justement, le choix devra également être dictée en fonction de la manière dont les valeurs sont attribuées aux colonnes ID ou Col1

    Une question importante à se poser est la suivante :
    Les valeurs de la colonne ID sont-elle attribuées de manière croissante (exemple 1, 2, 3, ... ) ou bien de manière désordonnée (exemple 200, 100, 190, 120, 340, 113, etc.)
    Idem même question en ce qui concerne la colonne Col1 ?

    A étudier plus en détails, mais généralement, il faut privilégier le caractère CLUSTER (PK ou Index ) pour la colonne dont les valeurs sont attribuées de manière monotone (c.à.d toujours croissante ou bien toujours décroissante) pour éviter autant que possible les opérations de "Split". celles-ci sont très pénalisantes pour les performances lorsqu'elles sont effectuées sur un index Cluster, qui n'est autre chose que la table elle-même.

    A+

Discussions similaires

  1. [SQL SERVER 2K] Index clustered et non clustered
    Par dens19 dans le forum Administration
    Réponses: 3
    Dernier message: 26/03/2009, 19h38
  2. Désactivation manuelle d'un index cluster pour quoi faire ?
    Par dily0403 dans le forum Administration
    Réponses: 4
    Dernier message: 24/10/2008, 22h42
  3. Index CLuster sur Mysql ?
    Par genio dans le forum MySQL
    Réponses: 3
    Dernier message: 13/08/2008, 16h19
  4. [ASE]index cluster sybase
    Par bribri dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 04/02/2008, 12h01
  5. Réponses: 3
    Dernier message: 25/10/2006, 17h45

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