Stockage des UUID sous forme de nombres dans MySQL
Dans le fil de discussion "Performances des UUID dans MySQL", un utilisateur a suggéré de stocker les UUID sous forme de nombres au lieu de chaînes pour des performances améliorées. Cet article explore comment cela peut être réalisé dans Ruby et discute des avantages de l'utilisation d'une représentation binaire.
Suppression des tirets et conversion en chaîne hexadécimale
Pour convertir un UUID en un format numérique, vous supprimez d'abord les tirets et le représentez sous la forme d'une seule chaîne hexadécimale. Par exemple, "110E8400-E29B-11D4-A716-446655440000" devient "110E8400E29B11D4A716446655440000".
Stockage en tant que binaire dans MySQL
MySQL stocke les données binaires plus efficacement que les chaînes, ce qui le rend adapté au stockage des UUID. Puisqu'un UUID fait 128 bits, il s'intègre parfaitement dans un champ BINARY(16). Vous pouvez utiliser l'instruction SQL suivante pour insérer un UUID dans une table :
INSERT INTO Table (FieldBin) VALUES (UNHEX("110E8400E29B11D4A716446655440000"))
Récupération et reconversion en UUID
Pour récupérer un UUID dans son format d'origine , vous pouvez utiliser l'instruction SQL suivante :
SELECT HEX(FieldBin) AS FieldBin FROM Table
Dans votre code Ruby, vous pouvez traiter davantage la chaîne hexadécimale récupérée en réinsérer les tirets aux positions appropriées pour correspondre au format UUID d'origine.
Avantages du stockage binaire
Le stockage des UUID sous forme de données binaires offre plusieurs avantages par rapport aux chaînes :
En suivant ces étapes et en utilisant le stockage binaire, vous pouvez optimiser efficacement les performances de votre Base de données MySQL lorsque vous travaillez avec des UUID.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!