Heim >Datenbank >MySQL-Tutorial >Wie kann ich UUIDs als Zahlen in MySQL speichern, um die Leistung zu verbessern?
UUIDs als Zahlen in MySQL speichern
Im Thread „UUID-Leistung in MySQL“ schlug ein Benutzer vor, UUIDs als Zahlen statt als Zeichenfolgen zu speichern für eine verbesserte Leistung. In diesem Artikel wird untersucht, wie dies in Ruby erreicht werden kann, und erörtert die Vorteile der Verwendung einer binären Darstellung.
Entfernen von Bindestrichen und Konvertieren in eine hexadezimale Zeichenfolge
So konvertieren Sie eine UUID in Bei einem numerischen Format entfernen Sie zunächst die Bindestriche und stellen es als einzelne hexadezimale Zeichenfolge dar. Beispielsweise wird „110E8400-E29B-11D4-A716-446655440000“ zu „110E8400E29B11D4A716446655440000“.
Speichern als Binärdaten in MySQL
MySQL speichert Binärdaten effizienter als Saiten , wodurch es zum Speichern von UUIDs geeignet ist. Da eine UUID 128 Bit lang ist, passt sie perfekt in ein BINARY(16)-Feld. Sie können die folgende SQL-Anweisung verwenden, um eine UUID in eine Tabelle einzufügen:
INSERT INTO Table (FieldBin) VALUES (UNHEX("110E8400E29B11D4A716446655440000"))
Abrufen und Zurückkonvertieren in UUID
Um eine UUID in ihrem ursprünglichen Format abzurufen können Sie die folgende SQL-Anweisung verwenden:
SELECT HEX(FieldBin) AS FieldBin FROM Table
In Ihrem Ruby-Code können Sie die abgerufene Hex-Zeichenfolge weiterverarbeiten, indem Sie die Bindestriche an den entsprechenden Positionen erneut einfügen, um sie an das ursprüngliche UUID-Format anzupassen.
Vorteile der Binärspeicherung
Das Speichern von UUIDs als Binärdaten bietet mehrere Vorteile gegenüber Zeichenfolgen:
Indem Sie diese Schritte befolgen und Binärspeicher verwenden, können Sie die Leistung Ihrer MySQL-Datenbank bei der Arbeit mit UUIDs effektiv optimieren.
Das obige ist der detaillierte Inhalt vonWie kann ich UUIDs als Zahlen in MySQL speichern, um die Leistung zu verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!