Page 1 sur 1

MySQL, index et clé primaire sur deux colonnes

Posté : 14 août 2014, 19:37
par Khorne_fr1
Bonjour,

j'ai une petite question concernant les clés primaire sur deux colonnes.

Imaginons que j'ai une table qui contient les champs suivants:

- id_client
- id_produit
- champ1
- champ2

Comme je souhaite que dans cette table, un produit ne puisse être affecté qu'une seule fois à un client, je vais donc créer une clé primaire sur les champs : id_client et id_produit

Si dans une requête, je souhaite récupérer la liste des produits affectés à un client, je vais donc faire un truc du genre "SELECT id_produit FROM table WHERE id_client=x;"

Ma question est la suivante:

La table sera telle suffisamment optimisée niveau des index grâce à la clé primaire ou vais je devoir créer un index supplémentaire pour la colonne id_client uniquement?

Merci d'avance

Re: MySQL, index et clé primaire sur deux colonnes

Posté : 14 août 2014, 19:50
par toytoy
tu sélectionne produit et client et tu fais unique. c'est out pas besoin de clé primaire.

Re: MySQL, index et clé primaire sur deux colonnes

Posté : 14 août 2014, 20:45
par Khorne_fr1
tu sélectionne produit et client et tu fais unique. c'est out pas besoin de clé primaire.
Soit mais tu ne réponds pas à ma question.

La table sera telle suffisamment optimisée niveau des index grâce à la "clé primaire" / "unique" ou vais je devoir créer un index supplémentaire pour la colonne id_client uniquement?

Re: MySQL, index et clé primaire sur deux colonnes

Posté : 14 août 2014, 21:08
par toytoy
Tu peux faire un index pour client et produit, après tout dépendras de tes requêtes,

Re: MySQL, index et clé primaire sur deux colonnes

Posté : 14 août 2014, 21:14
par Khorne_fr1
Tu peux faire un index pour client et produit, après tout dépendras de tes requêtes,
Mais as tu vraiment lu mon premier message? Je donne pourtant un exemple précis de la requête!!

Donc dans le cas précis de cette requête et de la configuration de la table donnée, est ce que oui ou non un index "UNIQUE" sur les deux premières colonnes donnera une optimisation suffisante?

Parce que "tu peux...." ce n'est pas une réponse

Re: MySQL, index et clé primaire sur deux colonnes

Posté : 14 août 2014, 21:20
par toytoy
J'avoue je suis un peu dans les vap', mais dans ton cas tu ne peu en effet ne rien faire de plus ni de moins pour optimisé ta table. Milles excuses