2009-01-24 8 views
6

Lorsque vous enregistrez des données dans différentes tables sql, est-il préférable d'utiliser le GUID userID ou simplement d'utiliser le nom d'utilisateur? Y a-t-il une différence de performance lors de l'utilisation de guid?UserName ou ID utilisateur de guid?

Répondre

11

Utilisez le guide. C'est l'identifiant interne du système pour vos utilisateurs. Cela permet ensuite la possibilité de changer les noms d'utilisateur si les gens le souhaitent.

Cela correspond alors parfaitement au concept d'ID interne qui signifie quelque chose pour votre système, par rapport à l'ID externe qui signifie quelque chose pour vos utilisateurs.

+0

Non seulement cela, mais les noms d'utilisateur peuvent être modifiés et/ou dupliqués IRL. – Josef

+0

Il semble que la bonne façon, mais pourquoi n'est-elle pas accessible ... User.Identity.? J'essaie de comprendre pourquoi cela a été fait comme ça. – Brettski

5

J'ai vu beaucoup de discussions sur la performance dans GUID contre INT (incrément automatique). Mais je pourrais vous recommander d'utiliser GUID. Est-ce que vous demandez à propos de champ utilisé comme primaire ou sur l'utilisation/pas une relation (insérer un GUID dans une table ayant une autre table avec GUID et les associations de noms d'utilisateur)?

+0

principal dans la table Utilisateurs comme guid. champ de référence dans d'autres tables (comme guid ou non) – zsharp

+2

GUID vs Int est plus en ce qui concerne l'index cluster de SQL Server. Une valeur croissante monotone (nombre entier d'identités) est préférée pour l'index cluster, quelle que soit la clé primaire. – Josef

+0

@Josef: Maintenant, je comprends pourquoi vous avez absolument raison :) – abatishchev

Questions connexes