Ce type de données est recommandée pour les ID?

Je me rends compte que cette question est très probablement été demandé avant, mais j'ai cherché un peu, entre les questions sur StackOverflow, et je n'ai pas vraiment trouver de réponse à la mienne, donc voilà. Si vous trouvez une copie, veuillez communiquer le lien.

Pour une raison que je préfère utiliser Guids (uniqueidentifier dans MsSql) pour mon champs de clé primaire, mais je ne sais vraiment pas pourquoi ce serait mieux. Dans beaucoup de tutoriels que j'ai parcouru moi-même à travers dernièrement une incrémenté automatiquement int a été utilisé. Je peux voir les avantages et les inconvénients avec les deux:

  • Un Guid est toujours de la même taille et de même longueur, et il n'y a pas de raison de s'inquiéter de manquer d'entre eux, alors qu'il y a une limite au nombre d'enregistrements que vous pourriez avoir avant de vous exécuter de chiffres qui s'inscrivent dans une int.
  • int est (au moins en C#) type nullable, qui s'ouvre pour un couple de raccourcis lors de l'interrogation des données.
  • Et int est plus facile à lire.
  • Je parie que vous pourriez venir avec au moins un couple de plus de choses ici.

Donc, aussi simple que le titre dit: Ce qui est recommandé type de données pour l'IDENTIFIANT (clé primaire) de colonnes dans une base de données?

EDIT: Après avoir reçu un couple de réponse courte, je dois également ajouter cette question de suivi. Sans elle, votre réponse n'est ni convaincant ni éduquer... 😉 Pourquoi pensez-vous donc, et quels sont les inconvénients de l'autre option qui vous pas choisir qui à la place?

il convient de rappeler que le GUID et un entier sont que des façons différentes de l'affichage et de générer une séquence d'octets. Où les services de renseignements sont générés de manière séquentielle, les Guid sont générés de façon "aléatoire" et il y a plus d'octets. cela signifie que vous n'avez pas besoin de voir l'état actuel de la base de données pour générer un. tout peut accepter les valeurs null en C# avec une ? sur elle.

OriginalL'auteur Tomas Aschan | 2009-05-31