[bruit] Petit demande d'explication sur Mysql

Le
mystere689
J'ai beaucoup de doc (mais en anglais) et je n'y trouve pas vraiment
d'explication (s'il y en a une ) à ceci : Il y a -t-il une différence
entre faire une 'PRIMARY KEY' et un INDEX ??? (à part le fait que l'on
peut faire plusieurs index)

Merci d'illuminer ma lanterne.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
wd_newbie
Le #18176391
On 19 déc, 00:26, mystere689
J'ai beaucoup de doc (mais en anglais) et je n'y trouve pas vraiment
d'explication (s'il y en a une ) à ceci : Il y a -t-il une différence
entre faire une 'PRIMARY KEY' et un INDEX ??? (à part le fait que l'on
peut faire plusieurs index)

Merci d'illuminer ma lanterne.



Je ne vais pas illuminer ta lanterne, mais j'ai trouvé ça sur le web
qui me semble pas trop mal.
(en tout cas moi cela m'a aidé !)

http://fr.answers.yahoo.com/question/index?qid 081127032622AAFP4Xz

@micalement

Olivier
Firetox
Le #18176551
Bonjour,

a.. KEY est un synonyme de INDEX. Depuis la version 4.1, l'attribut de clé
PRIMARY KEY peut aussi être spécifié avec la clause KEY. Il a été implémenté
pour assurer la compatibilité avec les autres bases.

a.. Avec MySQL, une clé UNIQUE peut avoir uniquement avoir deux valeurs
distinctes. Une erreur surviendra si vous essayez d'ajouter une ligne dont
la clé correspond à une ligne existante.

a.. Une clé primaire (PRIMARY KEY) est un index UNIQUE avec la contrainte
supplémentaire que les toutes les colonnes utilisées doit avoir l'attribut
NOT NULL. En MySQL, cette clé est dite PRIMARY. Une table ne peut avoir
qu'une seule clé primaire. Si vous n'avez pas de PRIMARY KEY et que des
applications demandent la PRIMARY KEY dans vos tables, MySQL retournera la
première clé UNIQUE, qui n'a aucune valeur NULL.

a.. Dans une table créée, la clé primaire PRIMARY KEY est placée en
première, suivie de tous les index UNIQUE, et enfin, les index non-unique.
Cela permet à l'optimiseur MySQL d'utiliser en priorité les index, et de
détecter rapidement les doublons pour les clés UNIQUE.

a.. Une PRIMARY KEY peut être multi-colonnes. Cependant, vous ne pouvez pas
créer d'index multi-colonnes avec l'attribut PRIMARY KEY dans une
spécification de colonne. En faisant cela, le seul résultat sera que cette
seule colonne sera marquée comme clé primaire. Vous devez absolument
utiliser la syntaxe PRIMARY KEY (index_nom_de_colonne, ...).

a.. Si une clé primaire (PRIMARY) ou unique (UNIQUE) est établit sur une
seule colonne, et que cette colonne est de type entier, vous pouvez aussi
faire référence à cette colonne sous le nom _rowid (nouveau en version
3.23.11).

a.. Avec MySQL, le nom de la clé primaire PRIMARY KEY est PRIMARY. Si vous
ne donnez pas de nom à un index, l'index prendra le nom de la première
colonne qui le compose, avec éventuellement un suffixe (_2, _3, ...) pour le
rendre unique. Vous pouvez voir les noms des index avec la commande SHOW
INDEX FROM tbl_name

bon dev
@+



"mystere689"
J'ai beaucoup de doc (mais en anglais) et je n'y trouve pas vraiment
d'explication (s'il y en a une ) à ceci : Il y a -t-il une différence
entre faire une 'PRIMARY KEY' et un INDEX ??? (à part le fait que l'on
peut faire plusieurs index)

Merci d'illuminer ma lanterne.
mystere689
Le #18180281
On 18 déc, 20:51, "Firetox"
Bonjour,

a.. KEY est un synonyme de INDEX. Depuis la version 4.1, l'attribut de cl é
PRIMARY KEY peut aussi être spécifié avec la clause KEY. Il a ét é implémenté
pour assurer la compatibilité avec les autres bases.

a.. Avec MySQL, une clé UNIQUE peut avoir uniquement avoir deux valeurs
distinctes. Une erreur surviendra si vous essayez d'ajouter une ligne don t
la clé correspond à une ligne existante.

a.. Une clé primaire (PRIMARY KEY) est un index UNIQUE avec la contrain te
supplémentaire que les toutes les colonnes utilisées doit avoir l'att ribut
NOT NULL. En MySQL, cette clé est dite PRIMARY. Une table ne peut avoir
qu'une seule clé primaire. Si vous n'avez pas de PRIMARY KEY et que des
applications demandent la PRIMARY KEY dans vos tables, MySQL retournera l a
première clé UNIQUE, qui n'a aucune valeur NULL.

a.. Dans une table créée, la clé primaire PRIMARY KEY est placée en
première, suivie de tous les index UNIQUE, et enfin, les index non-uniq ue.
Cela permet à l'optimiseur MySQL d'utiliser en priorité les index, et de
détecter rapidement les doublons pour les clés UNIQUE.

a.. Une PRIMARY KEY peut être multi-colonnes. Cependant, vous ne pouvez pas
créer d'index multi-colonnes avec l'attribut PRIMARY KEY dans une
spécification de colonne. En faisant cela, le seul résultat sera que cette
seule colonne sera marquée comme clé primaire. Vous devez absolument
utiliser la syntaxe PRIMARY KEY (index_nom_de_colonne, ...).

a.. Si une clé primaire (PRIMARY) ou unique (UNIQUE) est établit sur une
seule colonne, et que cette colonne est de type entier, vous pouvez aussi
faire référence à cette colonne sous le nom _rowid (nouveau en vers ion
3.23.11).

a.. Avec MySQL, le nom de la clé primaire PRIMARY KEY est PRIMARY. Si v ous
ne donnez pas de nom à un index, l'index prendra le nom de la premièr e
colonne qui le compose, avec éventuellement un suffixe (_2, _3, ...) po ur le
rendre unique. Vous pouvez voir les noms des index avec la commande SHOW
INDEX FROM tbl_name

bon dev
@+

"mystere689"
J'ai beaucoup de doc (mais en anglais) et je n'y trouve pas vraiment
d'explication (s'il y en a une ) à ceci : Il y a -t-il une différence
entre faire une 'PRIMARY KEY' et un INDEX ??? (à part le fait que l'on
peut faire plusieurs index)

Merci d'illuminer ma lanterne.



Merci à tout les 2 pour ces explications très clair. et bonnes fetes
Publicité
Poster une réponse
Anonyme