Heim >Datenbank >MySQL-Tutorial >Wie speichere ich UUIDs als Zahlen in MySQL, um die Leistung zu steigern?

Wie speichere ich UUIDs als Zahlen in MySQL, um die Leistung zu steigern?

Linda Hamilton
Linda HamiltonOriginal
2024-11-17 03:26:03948Durchsuche

How to Store UUIDs as Numbers in MySQL for Performance Gains?

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:

  1. UUID in einen Binärstring konvertieren:
    Entfernen Sie die Bindestriche aus der UUID und konvertieren Sie sie zu einer einzelnen Binärzeichenfolge. Wenn Ihre ursprüngliche UUID beispielsweise „110E8400-E29B-11D4-A716-446655440000“ lautet, wird sie zu „110E8400E29B11D4A716446655440000“.
  2. 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
    );
  3. 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'));
  4. 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;
  5. 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!

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