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

Requêtes MySQL Discussion :

Performance choix de l'index


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier Avatar de Nillak
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 138
    Points : 77
    Points
    77
    Par défaut Performance choix de l'index
    Bonjour,

    j'ai subitement un doute sur le choix des index dans mes tables. Pour info, j'utilise le moteur InnoDB et MySQL5, voici mon problème:

    j'ai une table qui possède une clé primaire et une clé étrangère, et je réalise en permanence des requêtes avec ce couple. N'aurais-je pas intéret à supprimer cette clé étrangère et à faire une clé primaire composée de ces deux champs ? De plus je n'utilise jamais et ne serait jamais amené à utiliser les ON DELETE et ON UPDATE.

    Quel votre avis ?

  2. #2
    Koo
    Koo est déconnecté
    Membre régulier Avatar de Koo
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 76
    Points : 84
    Points
    84
    Par défaut
    Suffit de rajouter un index qui porte sur tes 2 champs, au moins tu n'as pas à toucher les clés primaires/étrangères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE the_table ADD INDEX new_index (id_pk, id_fk)

  3. #3
    Membre régulier Avatar de Nillak
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 138
    Points : 77
    Points
    77
    Par défaut
    Bonjour et merci pour cette réponse mais il me semble que la clé primaire ne devrait pas faire partie de cet index, du moins c'est les infos que j'ai pu lire par 'ci par là. De plus il me semble que pour une optimisation de la taille de ma base de données, il ne faut pas réaliser ce genre d'indexation.

  4. #4
    Koo
    Koo est déconnecté
    Membre régulier Avatar de Koo
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 76
    Points : 84
    Points
    84
    Par défaut
    Effectivement, avoir 2 index (celui de la PK et celui que tu rajouterais sur les 2 champs) augmente légèrement la taille de la base, mais c'est assez insignifiant, la rapiditée d'accès au données étant quand même plus importante que les qq octects en plus rajoutés à chaque enregistrement.

    En plus si tu supprimes la clé étrangère, tu perds la contrainte entre les 2 tables alors autant utiliser du MyISAM

  5. #5
    Membre régulier Avatar de Nillak
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 138
    Points : 77
    Points
    77
    Par défaut
    Oui, mais j'utilise aussi InnoDB pour les Transactions. Je pense partir sur une clé primaire composée des deux champs et supprimer mes clé étrangères. Merci pour tes réponses

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

Discussions similaires

  1. [Performance] Insertion massive et index ?
    Par brolon dans le forum SQL
    Réponses: 1
    Dernier message: 23/01/2009, 11h04
  2. Choix d'un Index sur un champ ayant peu de valeurs distincts
    Par cfeltz dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/04/2007, 09h35
  3. [performance] choix carte graphique
    Par hegros dans le forum Composants
    Réponses: 10
    Dernier message: 18/03/2007, 09h40
  4. Développement serveur Performance, choix d'un langage
    Par Screwt-K dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 28/03/2006, 18h59
  5. [Performances] PK,FK et indexs
    Par booth dans le forum Oracle
    Réponses: 9
    Dernier message: 09/05/2005, 14h54

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