bonjour,

j'aurai aimé avoir quelques conseils concernant le choix de clé primaire.

j'ai lu il y des années qu'une clé primaire devait être toujours numérique et un entier de préférance pour des question de performance . est-ce toujours vrai ? il y a pas vraiment de raison que cela change j'imagine.

d'où mon petit problème

j'ai actuellement une table, sous sql serveur 08 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
create table DR_CRC (
CR_CD_CRC            varchar(20)          not null,
RE_CD_REGION         varchar(30)          not null,
CR_LB_CRC            varchar(50)          null,
constraint PK_DR_CRC primary key  (CR_CD_CRC)
)
go
j'ai la clé en varchar car le code CRC est une séquance de chiffre et de lettre. On pourrait mettre une clé primaire auto incrémenté mais celà voudra dire que l'on mettrais le CODE CRC dans une autre colonne . ce qui du coup me fait créer une nouvelle colonne par rapport au modèle présent.

la question est : est-ce qu'il vaut mieux une nouvelle colonne ou bien perdre en perf et garder une clé primaire varchar ...

le projet n'a pas été concu par mes soins mais il est récent et je pense pouvoir les faire changer quelques tables si il le faut.

votre avis ?

merci