So speichern Sie UUIDs als Zahlen in MySQL
Das Speichern von UUIDs als Zahlen bietet Leistungsvorteile gegenüber dem Speichern als Zeichenfolgen. Hier ist eine Schritt-für-Schritt-Anleitung, wie Sie dies in MySQL erreichen:
Erstellen Sie ein BINÄR-Feld in. MySQL:
Erstellen Sie in Ihrer MySQL-Tabelle ein BINARY-Feld mit einer Länge, die der Länge Ihrer binären UUID entspricht (16 in unserem Beispiel). Dies kann wie folgt erfolgen:
CREATE TABLE my_table ( uuid BINARY(16) NOT NULL );
Fügen Sie die binäre UUID ein:
Fügen Sie die binäre UUID mit der Funktion UNHEX() in das Feld ein:
INSERT INTO my_table (uuid) VALUES (UNHEX('110E8400E29B11D4A716446655440000'));
Abrufen und in eine UUID konvertieren:
Wenn Sie die UUID aus der Datenbank abrufen, wählen Sie das Feld BINARY aus und verwenden Sie die Funktion HEX(), um Wandeln Sie es zurück in eine UUID mit Bindestrich um:
SELECT HEX(uuid) AS original_uuid FROM my_table;
Ruby Code-Integration:
Einfügung:
Konvertieren Sie die UUID mit ActiveSupport::Digest::UUID.binary_pack(uuid) in eine Binärzeichenfolge. Verwenden Sie dann die Funktion UNHEX(), um sie in eine Hex-Zeichenfolge umzuwandeln, bevor Sie sie in das Feld einfügen.
Abruf:
Rufen Sie die binäre UUID aus dem Feld ab und konvertieren Sie sie in eine Hex-String mit HEX(). Anschließend können Sie ActiveSupport::Digest::UUID.uuid_unpack() verwenden, um die Hex-UUID wieder in ihr ursprüngliches Format zu konvertieren.
Das obige ist der detaillierte Inhalt vonWie speichere ich UUIDs als Zahlen in MySQL, um die Leistung zu steigern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!