Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Champ de type ROWGUID comme clé primaire

2 réponses
Avatar
Irénée A.
Bonjour à tous
Je souhaite avoir votre avis sur les questions suivantes.
1- "Est-il judicieux de choisir comme clé primaire d'une table un champ de
type ROWGUID (ces clés devant migrer dans d'autres tables)"
2- "La réponse est-elle la meme dans le contexte d'une réplication, où des
données sont ajoutées aussi bien dans la base de données d'origine que dans
la base de données repliquée" ?

Merci

2 réponses

Avatar
SQLpro
Cela n'est pas judicieus pour deux raisons :
1) le mélange des genres : clef et versionning de ligne sont deux choses
différentes
2) la lourdeur d'une clef de type UNIQUEIDENTIFIER est telle qu'en
comparaison avec un INT IDENTITY, vous serez à peu près 8 fois moins
performant dans vos jointures...

A +

"Irénée A." a écrit :

Bonjour à tous
Je souhaite avoir votre avis sur les questions suivantes.
1- "Est-il judicieux de choisir comme clé primaire d'une table un champ de
type ROWGUID (ces clés devant migrer dans d'autres tables)"
2- "La réponse est-elle la meme dans le contexte d'une réplication, où des
données sont ajoutées aussi bien dans la base de données d'origine que dans
la base de données repliquée" ?

Merci


Avatar
Philippe T [MS]
Bonjour,

Le fait d'utiliser des GUID entre différentes machines n'est pas
problématique en sois. Cela permet en tout cas d'éviter qu'un utilisateur
ayant accès au table s'amuse à le changer (contrirement à un int).

Phil.
________________________________________________________
Philippe TROTIN
Microsoft Services France http://www.microsoft.com/france
"Irénée A." wrote in message
news:
Bonjour à tous
Je souhaite avoir votre avis sur les questions suivantes.
1- "Est-il judicieux de choisir comme clé primaire d'une table un champ de
type ROWGUID (ces clés devant migrer dans d'autres tables)"
2- "La réponse est-elle la meme dans le contexte d'une réplication, où des
données sont ajoutées aussi bien dans la base de données d'origine que
dans
la base de données repliquée" ?

Merci