Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menyimpan UUID sebagai Nombor dalam MySQL untuk Prestasi yang Lebih Baik?

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

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-19 08:37:03878semak imbas

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"))

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:

  • 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!

Kenyataan:
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