différence entre primary key , clé index unique et clé index .
7 messages
• Page 1 sur 1
- bigs32
- WRInaute impliqué

- Messages: 517
- Inscription: 8 Mai 2006
différence entre primary key , clé index unique et clé index .
J'aimerais optimiser mes requetes SQL mais avnt tout j'aimerais bien voir la différence entre primary key , clé index unique et clé index .
quel serait l'intérêt d'affecter un champ à clé index ou clé index unique ou primary key au niveau de la performance du serveur SQL.
avez vous des expériences dans ce domaine
merci
quel serait l'intérêt d'affecter un champ à clé index ou clé index unique ou primary key au niveau de la performance du serveur SQL.
avez vous des expériences dans ce domaine
merci
-

dorian53 - WRInaute passionné

- Messages: 2215
- Inscription: 10 Avr 2005
Re: différence entre primary key , clé index unique et clé index .
Salut,
Primary key
Index + Unique (sans NULL)
Index
Le champ indexé.
Cela signifie qu'il est stocké et organisé par la base de données (donc plus gourmand en écriture).
Cela permet à la base de données de retrouver plus rapidement une information.
Il existe différent type d'index, la base de données utilisera différentes méthodes pour retrouver l'information.
Pour te donner une image, c'est comme un sommaire au début d'un livre ou l'on retrouve des chapitres.
Ils peuvent être organisé par ordre alphabétique ou par catégories (sport, nature, ...)
Unique
Ce champ est également indexé (voir ci dessus).
C'est un champ qui a pour contrainte d'être (comme son nom l'indique) unique, il ne peut pas y avoir 2 fois la même valeur dans la table.
Donc presque qu'une primary key SAUF QUE... la valeur NULL est autorisée.
Primary key
Index + Unique (sans NULL)
Index
Le champ indexé.
Cela signifie qu'il est stocké et organisé par la base de données (donc plus gourmand en écriture).
Cela permet à la base de données de retrouver plus rapidement une information.
Il existe différent type d'index, la base de données utilisera différentes méthodes pour retrouver l'information.
Pour te donner une image, c'est comme un sommaire au début d'un livre ou l'on retrouve des chapitres.
Ils peuvent être organisé par ordre alphabétique ou par catégories (sport, nature, ...)
Unique
Ce champ est également indexé (voir ci dessus).
C'est un champ qui a pour contrainte d'être (comme son nom l'indique) unique, il ne peut pas y avoir 2 fois la même valeur dans la table.
Donc presque qu'une primary key SAUF QUE... la valeur NULL est autorisée.
- bigs32
- WRInaute impliqué

- Messages: 517
- Inscription: 8 Mai 2006
Re: différence entre primary key , clé index unique et clé index .
dorian53 a écrit:Salut,
Primary key
Index + Unique (sans NULL)
Index
Le champ indexé.
Cela signifie qu'il est stocké et organisé par la base de données (donc plus gourmand en écriture).
Cela permet à la base de données de retrouver plus rapidement une information.
Il existe différent type d'index, la base de données utilisera différentes méthodes pour retrouver l'information.
Pour te donner une image, c'est comme un sommaire au début d'un livre ou l'on retrouve des chapitres.
Ils peuvent être organisé par ordre alphabétique ou par catégories (sport, nature, ...)
Unique
Ce champ est également indexé (voir ci dessus).
C'est un champ qui a pour contrainte d'être (comme son nom l'indique) unique, il ne peut pas y avoir 2 fois la même valeur dans la table.
Donc presque qu'une primary key SAUF QUE... la valeur NULL est autorisée.
je crois que dans une table on ne peut avoir qu'une clé primaire non?
pour ne pas se prendre la tete et éviter des bugs éventuels du serveur mysql mieux vaut mettre que des clé index tout court non? a mon avis ca doit prendre plus de place en mémoire par rapport à une clé unique ou clé primaire non?
est t'il dangereux de mettre beaucoup d'index dans une table ?
y a t'il un risque que la base ne marche plus du tout ?
Dernière édition par bigs32 le Mer Avr 01, 2009 10:11, édité 1 fois.
-

dorian53 - WRInaute passionné

- Messages: 2215
- Inscription: 10 Avr 2005
Re: différence entre primary key , clé index unique et clé index .
bigs32 a écrit:je crois que dans une table on ne peut avoir qu'une clé primaire non?
Oui c'est vrai.
bigs32 a écrit:pour ne pas se prendre la tete et éviter des bugs éventuels du serveur mysql mieux vaut mettre que clé index tout court non?
Non, une clé primaire a une notion particulière. Elle permet d'identifier distinctement un enregistrement.
bigs32 a écrit:c'est dangereux de mettre beaucoup d'index dans une table ?
Non, en revanche plus il y en a, plus le temps d'écriture est long.
À l'inverse la rechercher est plus rapide.
bigs32 a écrit:y a t'il un risque que la base ne marche plus du tout ?
Non. Si l'on prend le cas de l'index unique, ca ajoute une couche d'intégrité en plus a tes données.
Par exemple, tu es sûr qu'une référence n'est affectée qu'à un seul de tes produits ou qu'un email = utilisateur.
- bigs32
- WRInaute impliqué

- Messages: 517
- Inscription: 8 Mai 2006
Re: différence entre primary key , clé index unique et clé index .
Non, en revanche plus il y en a, plus le temps d'écriture est long.
À l'inverse la rechercher est plus rapide.
tu veux parler de la fonction insert ou update qui va prendrer du temps?
si on fait un arbitrage mieux une recherche plus rapide meme si c'est un insert ou update plus long ?
-

dorian53 - WRInaute passionné

- Messages: 2215
- Inscription: 10 Avr 2005
Re: différence entre primary key , clé index unique et clé index .
Tout dépend de l'application qui tourne derrière.
Une table de log peut écrire 4 enregistrements à la seconde et être consultée seulement 1 fois par mois en cas de problème.
Une table de produit peut être consultée 4 fois par seconde et être alimentée 1 fois par mois en cas de ré-approvisionnement des stocks.
Une table de log peut écrire 4 enregistrements à la seconde et être consultée seulement 1 fois par mois en cas de problème.
Une table de produit peut être consultée 4 fois par seconde et être alimentée 1 fois par mois en cas de ré-approvisionnement des stocks.
- bigs32
- WRInaute impliqué

- Messages: 517
- Inscription: 8 Mai 2006
Re: différence entre primary key , clé index unique et clé index .
merci dorian pour tes réponses concises .Je vais en rajouter pas mal d'index pour voir .
S'il y a un souci je peux toujours enlever l'index , je pense qu'il n'y aura pas de souci .
S'il y a un souci je peux toujours enlever l'index , je pense qu'il n'y aura pas de souci .
7 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Mysql.._[JOINTURE - PRIMARY KEY - UNIQUE - INDEX ]
- [Mysql] Parsing d'une clé + On Duplicate Key
- Difference entre mot clé et requêtes
- Google KEYWORDS: mot clé, expression clé
- un mot clé composé permet-il le référencement d'une sous-chaîne du mot clé ?
- mot-cle ou mot cle , pas le meme resultat ?
- Comment remplacer mot clé ici en mot-clé-ici avec php?
- Différence Visiteur Unique détail page et Entonnoir conversion
- Gouffre entre "mot-clé" et mot-clé
- example.com/mot-cle/mot-cle.htm ?
Consultez la description détaillée des produits ou services de Google suivants : Google Bombing, Google Search-based Keyword Tool (sktool), Google API
- Calcul d'indice de densité
Cet outil vous permet de calculer l'indice de densité d'un mot-clé d'une page web. Il est calculé à la fois pour la balise TITLE, la balise META description et l'ensemble du texte de la page.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
