Vous n'avez pas besoin d'utiliser des clés primaires auto-incrémentées, mais c'est le cas. Voici pourquoi. Tout d'abord, si vous utilisez int, ils sont plus petits que les UUID. Deuxièmement, il est beaucoup plus facile d'interroger en utilisant ints que UUIDs, surtout si vos clés primaires apparaissent comme des clés étrangères dans d'autres tables.
En outre, considérez le code que vous allez écrire dans n'importe quelle couche d'accès aux données. Beaucoup de mes constructeurs prennent un seul ID comme int. C'est propre, et dans un langage sûr comme le type C# - tous les problèmes sont pris au moment de la compilation.
Inconvénients des autoincrementers? Potentiellement à court d'espace. J'ai une table qui est à 200M sur son champ d'identification pour le moment. Ça va éclater la limite de 2 milliards en un an si je pars tel quel.
Vous pourriez également soutenir qu'un ID auto-incrémenté n'a aucune signification intrinsèque, mais il en va de même pour un UUID.
Duplicata de http://stackoverflow.com/questions/230351/what-should-i-consider-when-selecting-a-data-type-for-my-primary-key – RedFilter
Les questions @OrbMan sont différentes, là Il n'y a pas de duplication ici. –