Heim  >  Artikel  >  Datenbank  >  Wie kann ich UUIDs als Zahlen in MySQL speichern, um die Leistung zu verbessern?

Wie kann ich UUIDs als Zahlen in MySQL speichern, um die Leistung zu verbessern?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-19 08:37:03790Durchsuche

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

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:

  • Schnellere Indizierung: MySQL Binärindizes sind effizienter als String-Indizes.
  • Reduzierter Speicherplatz: Die binäre Darstellung erfordert weniger Speicherplatz als die String-Darstellung.
  • Schnellere Vergleiche: Binärvergleiche sind schneller als Stringvergleiche.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn