Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyimpan UUID sebagai Nombor dalam MySQL untuk Keuntungan Prestasi?

Bagaimana untuk Menyimpan UUID sebagai Nombor dalam MySQL untuk Keuntungan Prestasi?

Linda Hamilton
Lepaskan: 2024-11-17 03:26:03
asal
959 orang telah melayarinya

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

Cara Menyimpan UUID sebagai Nombor dalam MySQL

Menyimpan UUID sebagai nombor menawarkan kelebihan prestasi berbanding menyimpannya sebagai rentetan. Berikut ialah panduan langkah demi langkah tentang cara untuk mencapai ini dalam MySQL:

  1. Tukar UUID kepada Rentetan Binari:
    Alih keluar sempang daripada UUID dan tukarkannya kepada rentetan binari tunggal. Sebagai contoh, jika UUID asal anda ialah "110E8400-E29B-11D4-A716-446655440000," ia menjadi "110E8400E29B11D4A716446655440000."
  2. Bidang Buat medan BINARI dalam jadual MySQL anda dengan panjang yang sepadan dengan panjang UUID binari anda (16 dalam contoh kami). Ini boleh dilakukan menggunakan:

    CREATE TABLE my_table (
        uuid BINARY(16) NOT NULL
    );
    Salin selepas log masuk
  3. Masukkan UUID Binari:Masukkan UUID binari ke dalam medan menggunakan fungsi UNHEX():

    INSERT INTO my_table (uuid) VALUES (UNHEX('110E8400E29B11D4A716446655440000'));
    Salin selepas log masuk
  4. Dapatkan dan Tukar kepada UUID:Apabila mendapatkan semula UUID daripada pangkalan data, pilih medan BINARI dan gunakan fungsi HEX() untuk menukarnya kembali kepada UUID yang ditanda sempang:

    SELECT HEX(uuid) AS original_uuid FROM my_table;
    Salin selepas log masuk
  5. Kod Ruby Penyepaduan:

    Sisipan:Tukar UUID kepada rentetan binari menggunakan ActiveSupport::Digest::UUID.binary_pack(uuid). Kemudian gunakan fungsi UNHEX() untuk mengubahnya kepada rentetan hex sebelum memasukkannya ke dalam medan.

    Pendapatan semula:Dapatkan UUID binari dari medan dan tukarkannya kepada rentetan hex menggunakan HEX(). Anda kemudiannya boleh menggunakan ActiveSupport::Digest::UUID.uuid_unpack() untuk menukar hex UUID kembali kepada format asalnya.

Atas ialah kandungan terperinci Bagaimana untuk Menyimpan UUID sebagai Nombor dalam MySQL untuk Keuntungan Prestasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan