UUID als Zahl in MySQL speichern
Um die MySQL-Leistung zu verbessern, wird empfohlen, UUIDs als Zahlen statt als Zeichenfolgen zu speichern. Diese Optimierung nutzt die schnelleren Binärverarbeitungsfunktionen von MySQL.
Konvertierungsprozess:
-
Gedankenstriche entfernen:Entfernen Sie die Gedankenstriche aus der UUID. Konvertieren Sie beispielsweise „110E8400-E29B-11D4-A716-446655440000“ in „110E8400E29B11D4A716446655440000“.
-
Länge berechnen:Teilen Sie die resultierende Zeichenfolgenlänge durch 2. Für UUIDs, die 32 Zeichen lang sind, ergeben 16.
-
Binärfeld erstellen: Erstellen Sie in MySQL ein BINÄRfeld mit einer Länge, die dem berechneten Wert entspricht. Für UUIDs wäre dies BINARY(16).
-
UUID einfügen: Verwenden Sie die Funktion UNHEX(), um die binäre Darstellung der UUID in das Feld einzufügen. Zum Beispiel:
INSERT INTO Table (FieldBin) VALUES (UNHEX("110E8400E29B11D4A716446655440000"))
Nach dem Login kopieren
Abfragen und Neuformatieren:
-
UUID abfragen:Hexadezimale Darstellung von abrufen die UUID mit der HEX()-Funktion.
-
Erneut einfügen Bindestriche: Fügen Sie in Ihrer Programmiersprache an den Positionen 9, 14, 19 und 24 der Hexadezimalzeichenfolge erneut Bindestriche ein, um das ursprüngliche UUID-Format zu erhalten.
Beispiel:
CREATE TABLE test_table (
field_binary BINARY(16) NULL,
PRIMARY KEY (field_binary)
);
INSERT INTO test_table (field_binary) VALUES (UNHEX('110E8400E29B11D4A716446655440000'));
SELECT HEX(field_binary) AS field_binary FROM test_table;
Nach dem Login kopieren
Das obige ist der detaillierte Inhalt vonWie speichere ich UUIDs als Zahlen in MySQL, um die Leistung zu verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!