Maison >base de données >tutoriel mysql >Comment puis-je stocker les UUID sous forme de numéros dans MySQL pour améliorer les performances ?

Comment puis-je stocker les UUID sous forme de numéros dans MySQL pour améliorer les performances ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-19 08:37:03880parcourir

How Can I Store UUIDs as Numbers in MySQL for Improved Performance?

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 :

  • Indexation plus rapide : Les index binaires de MySQL sont plus efficace que les index de chaîne.
  • Espace de stockage réduit : La représentation binaire nécessite moins d'espace de stockage que la représentation de chaîne.
  • Comparaisons plus rapides : Les comparaisons binaires sont plus rapides que les comparaisons de 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn