Rumah > pangkalan data > tutorial mysql > Bagaimanakah saya boleh mengoptimumkan storan UUID dalam MySQL dan meningkatkan prestasi pertanyaan?

Bagaimanakah saya boleh mengoptimumkan storan UUID dalam MySQL dan meningkatkan prestasi pertanyaan?

DDD
Lepaskan: 2024-11-16 12:18:03
asal
941 orang telah melayarinya

How can I optimize UUID storage in MySQL and improve query performance?

Mengoptimumkan Storan UUID dalam MySQL: Menukar kepada Nombor

Walaupun UUID menawarkan keunikan, storan mereka sebagai rentetan dalam MySQL boleh menghalang prestasi. Untuk meningkatkan kecekapan pengambilan data, adalah dinasihatkan untuk menyimpan UUID sebagai nombor sebaliknya.

Proses Penukaran

  1. Alih Keluar Sempang:
    Hapuskan sempang daripada UUID, mis., "110E8400-E29B-11D4-A716-446655440000" menjadi "110E8400E29B11D4A716446655440000".
  2. BINARY(🎜>BINARI(🎜) Saya:BINARI(16) UUID dengan cekap dalam bidang BINARI. Memandangkan UUID mempunyai 128 bit, BINARY(16) adalah ideal, menampung saiz UUID penuh.
  3. Sisipkan Menggunakan UNHEX():Masukkan UUID ke dalam medan BINARI menggunakan fungsi UNHEX(), cth.:

    INSERT INTO Table (FieldBin) VALUES (UNHEX("110E8400E29B11D4A716446655440000"))
    Salin selepas log masuk
  4. Pertanyaan Menggunakan HEX():Untuk mendapatkan semula UUID, gunakan fungsi HEX(), cth.:

    SELECT HEX(FieldBin) AS FieldBin FROM Table
    Salin selepas log masuk
  5. Tambah semula Sempang:Dalam kod Ruby anda, masukkan semula sempang pada kedudukan yang sesuai agar sepadan dengan format UUID asal.

Contoh

require 'mysql2'

client = Mysql2::Client.new(
  host: 'localhost',
  username: 'root',
  password: 'password',
  database: 'test_database'
)

uuid_binary = client.query(
  'SELECT HEX(FieldBin) AS FieldBin FROM test_table'
).first['FieldBin']

uuid = uuid_binary.insert(9, '-').insert(14, '-').insert(19, '-').insert(24, '-')

puts uuid
Salin selepas log masuk
Dengan menyimpan UUID sebagai nombor, anda boleh mengoptimumkan pengambilan data dalam MySQL, meningkatkan pertanyaan dengan ketara prestasi.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengoptimumkan storan UUID dalam MySQL dan meningkatkan prestasi pertanyaan?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan