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

Langage SQL Discussion :

Question sur les primaries key


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 42
    Points
    42
    Par défaut Question sur les primaries key
    Bonjour,

    J'ai une petite question sur les primaries key.

    J'utilise la table suivante pour logger des actions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE log_tbl (
      date_heure DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
      ident VARCHAR(11) NOT NULL DEFAULT '',
      action ENUM('MT','MO') NOT NULL DEFAULT 'MT',
      PRIMARY KEY(date_heure, ident)
    );
    La clé primaire est défini sur date_heure + ident, cela signifie donc que le couple date_heure + ident devra être unique en base.
    Une clé primaire est aussi un index, et donc ma question est la suivante : est-ce que cet index est uniquement sur le couple "date_heure + ident" ou est ce qu'il est également défini sur "ident" tout seul ?

    En d'autre terme, si je fais une requete "where ident='toto'", est ce que cet index va être utilisé ou faut-il que j'en redéclare un autre ?

    merci,
    izioto

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 911
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 911
    Points : 6 032
    Points
    6 032
    Par défaut
    Il te faut effectivement déclarer un index sur ident afin d'améliorer le temps de traitement lors d'un select sur cette colonne.

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut Where et non Select
    Si je peux me permettre qi130, sans vouloir t'offenser, je dirais que ce serait plutôt lors de l'emploi d'un WHERE sur cette colonne que les traitements peuvent être améliorés.

    Et encore, je crois pouvoir dire qu'il n'est pas certain que le moteur SQL utilisera l'index en question.

  4. #4
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 911
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 911
    Points : 6 032
    Points
    6 032
    Par défaut
    Citation Envoyé par Mercure
    Si je peux me permettre qi130, sans vouloir t'offenser, je dirais que ce serait plutôt lors de l'emploi d'un WHERE sur cette colonne que les traitements peuvent être améliorés.
    Oui, tout à fait; de même que si un ORDER BY est spécifié sur cette même colonne.
    Et encore, je crois pouvoir dire qu'il n'est pas certain que le moteur SQL utilisera l'index en question.
    Sur ce point, par contre, je te laisse la responsabilité de tes propos

Discussions similaires

  1. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 13h49
  2. question sur les vertex buffer et index buffer
    Par airseb dans le forum DirectX
    Réponses: 9
    Dernier message: 25/08/2003, 02h38
  3. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  4. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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