Meilleure façon de traiter de gros (UUID) en tant que clé primaire de la table MySQL

J'ai un UUID de la chaîne que je veux utiliser comme mes tables MySQL clé primaire, l'UUID est de 32 caractères hexadécimaux de chaîne (après '-' les caractères sont supprimés). En raison du fait qu'il est préférable d'utiliser une colonne numérique (int) comme clé primaire dans une base de données, je voudrais le convertir à un nombre entier, mais pas sûr de la meilleure façon de le gérer.

  1. En raison de la taille de la chaîne (c'est à dire. uuid='a822ff2bff02461db45ddcd10a2de0c2'), ai-je besoin de briser ce en plusieurs sous-chaînes'.
  2. Je suis en cours d'exécution PHP sur une architecture 32 bits pour le moment donc de le convertir en PHP ne fonctionnera pas en raison de PHP_INT_MAX taille (max 0xFFFFFFFF). Et je soupçonne que ce serait la même restriction pour MySQL.
  3. Je n'aime pas l'idée de plusieurs clés primaires comme un correctif pour cela, je préfère utiliser une représentation de chaîne, même si ce n'est pas la méthode préférée.

J'ai peut-être penser à propos de ce tout faux, et ne suis pas contre la lecture de la documentation, des exemples ou des suggestions de lecture comme une réponse serait acceptable.

Également à noter, ce champ id serait utilisé pour les jointures et les sélectionne.

OriginalL'auteur Aaron Murray | 2013-04-20