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:
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 );
Masukkan UUID Binari:Masukkan UUID binari ke dalam medan menggunakan fungsi UNHEX():
INSERT INTO my_table (uuid) VALUES (UNHEX('110E8400E29B11D4A716446655440000'));
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;
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!