Bagaimanakah Saya Boleh Menyimpan UUID sebagai Nombor dalam MySQL untuk Prestasi yang Lebih Baik?

Mary-Kate Olsen
Lepaskan: 2024-11-19 08:37:03
asal
787 orang telah melayarinya

How Can I Store UUIDs as Numbers in MySQL for Improved Performance?

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"))
Salin selepas log masuk

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
Salin selepas log masuk

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:

  • Pengindeksan yang lebih pantas: Indeks binari MySQL lebih cekap daripada indeks rentetan.
  • Ruang storan yang dikurangkan: Perwakilan binari memerlukan ruang storan yang kurang daripada perwakilan rentetan.
  • Perbandingan yang lebih pantas: Perbandingan binari lebih pantas daripada perbandingan 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!

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