Menyimpan UUID sebagai Nombor dalam MySQL
Dalam urutan "prestasi UUID dalam MySQL," pengguna mencadangkan untuk menyimpan UUID sebagai nombor dan bukannya rentetan untuk prestasi yang lebih baik. Artikel ini meneroka cara ini boleh dicapai dalam Ruby dan membincangkan faedah menggunakan perwakilan binari.
Mengalih Keluar Sempang dan Menukar kepada Rentetan Heksadesimal
Untuk menukar UUID kepada format angka, anda mula-mula mengalih keluar sempang dan mewakilinya sebagai rentetan perenambelasan tunggal. Contohnya, "110E8400-E29B-11D4-A716-446655440000" menjadi "110E8400E29B11D4A716446655440000."
Penyimpanan binari MySQL
MySQL menyimpan data binari dengan lebih cekap daripada rentetan, yang menjadikannya sesuai untuk menyimpan UUID. Memandangkan UUID adalah 128 bit panjang, ia sesuai dengan sempurna ke dalam medan BINARI(16). Anda boleh menggunakan pernyataan SQL berikut untuk memasukkan UUID ke dalam jadual:
INSERT INTO Table (FieldBin) VALUES (UNHEX("110E8400E29B11D4A716446655440000"))
Mendapatkan dan Menukar Kembali kepada UUID
Untuk mendapatkan semula UUID dalam format asalnya , anda boleh menggunakan pernyataan SQL berikut:
SELECT HEX(FieldBin) AS FieldBin FROM Table
Dalam kod Ruby anda, anda boleh memproses selanjutnya yang diambil rentetan hex dengan memasukkan semula sempang pada kedudukan yang sesuai agar sepadan dengan format UUID asal.
Kelebihan Storan Binari
Menyimpan UUID sebagai data binari menawarkan beberapa kelebihan berbanding rentetan:
Dengan mengikuti langkah ini dan menggunakan storan binari, anda boleh mengoptimumkan prestasi pangkalan data MySQL anda dengan berkesan apabila bekerja dengan UUID.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan UUID sebagai Nombor dalam MySQL untuk Prestasi yang Lebih Baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!