ID penambahan automatik menjimatkan ruang storan, dan indeks kunci utama tidak mempunyai masalah memasukkan dan menyusun semula Kelemahannya ialah jumlah data adalah terhad, dan maksimum 2^63 rekod boleh disimpan. uuid biasanya rentetan, yang menggunakan lebih banyak ruang storan daripada integer, dan memerlukan penyusunan semula indeks semasa pemasukan. Pada dasarnya, tiada had atas kuantiti.
Jenis integer (indeks mysql disimpan dalam bentuk fail, jadi jenis integer mestilah lebih kecil daripada UUID), dan kerana ia adalah jenis integer, kecekapan indeks mesti lebih tinggi daripada UUID, tetapi kerana ia meningkat secara automatik, mysql akan Apabila memasukkan data, jadual mesti dikunci, yang menyebabkan overhed yang besar pada pelayan MySQL di bawah sejumlah besar concurrency. Dan UUID adalah lebih baik daripada integer auto-increment dalam mengendalikan concurrency
Apabila medan adalah kunci utama, jenis integer menjimatkan ruang daripada jenis rentetan (anda harus ingat bahawa int hanya memerlukan 4 bait, dan char mempunyai satu bait setiap aksara) Apabila medan itu bukan kunci utama, sebagai tambahan kepada menjimatkan ruang, jenis integer menjimatkan lebih banyak ruang daripada jenis rentetan Jenisnya lebih cepat, dan ia tumbuh secara geometri mengikut panjang aksara
Bagi mereka yang mengejar kesempurnaan, data seperti alamat IP juga disimpan dalam pangkalan data menggunakan integer (rentetan alamat IP dan integer mempunyai algoritma tetap).
Sebagai contoh; jika nilai medan ialah 1234567890 dan tiada kunci utama Apabila melakukan pertanyaan sql di mana id >= '1234567890' jenis int hanya perlu dibandingkan sekali jenis char perlu dibandingkan 10 kali, setiap satu watak Setiap orang perlu mengambil bahagian dalam perbandingan. Jadi semakin panjang watak, semakin perlahan kelajuannya
Jika jumlah data dalam pangkalan data cukup besar, anda boleh menyemak kelajuan pemprosesan jenis char dengan mudah dengan melaksanakan SQL yang serupa di mana id seperti '123%' had 5; di mana id seperti '1234%' had 5; di mana id suka '12345%' had 5; di mana id suka '123456%' had 5; Kelajuan pelaksanaan SQL di atas lebih perlahan pula. Kerana semakin panjang watak, semakin banyak masa mereka dibandingkan.
Tidak kira panjang jenis int, ia hanya membandingkan sekali
ID penambahan automatik menjimatkan ruang storan, dan indeks kunci utama tidak mempunyai masalah memasukkan dan menyusun semula Kelemahannya ialah jumlah data adalah terhad, dan maksimum 2^63 rekod boleh disimpan.
uuid biasanya rentetan, yang menggunakan lebih banyak ruang storan daripada integer, dan memerlukan penyusunan semula indeks semasa pemasukan. Pada dasarnya, tiada had atas kuantiti.
Jenis integer (indeks mysql disimpan dalam bentuk fail, jadi jenis integer mestilah lebih kecil daripada UUID), dan kerana ia adalah jenis integer, kecekapan indeks mesti lebih tinggi daripada UUID, tetapi kerana ia meningkat secara automatik, mysql akan Apabila memasukkan data, jadual mesti dikunci, yang menyebabkan overhed yang besar pada pelayan MySQL di bawah sejumlah besar concurrency. Dan UUID adalah lebih baik daripada integer auto-increment dalam mengendalikan concurrency
uuid menyokong sub-perpustakaan
Apabila medan adalah kunci utama, jenis integer menjimatkan ruang daripada jenis rentetan (anda harus ingat bahawa int hanya memerlukan 4 bait, dan char mempunyai satu bait setiap aksara)
Apabila medan itu bukan kunci utama, sebagai tambahan kepada menjimatkan ruang, jenis integer menjimatkan lebih banyak ruang daripada jenis rentetan Jenisnya lebih cepat, dan ia tumbuh secara geometri mengikut panjang aksara
Bagi mereka yang mengejar kesempurnaan, data seperti alamat IP juga disimpan dalam pangkalan data menggunakan integer (rentetan alamat IP dan integer mempunyai algoritma tetap).
Sebagai contoh; jika nilai medan ialah 1234567890 dan tiada kunci utama
Apabila melakukan pertanyaan sql di mana id >= '1234567890'
jenis int hanya perlu dibandingkan sekali
jenis char perlu dibandingkan 10 kali, setiap satu watak Setiap orang perlu mengambil bahagian dalam perbandingan. Jadi semakin panjang watak, semakin perlahan kelajuannya
Jika jumlah data dalam pangkalan data cukup besar, anda boleh menyemak kelajuan pemprosesan jenis char dengan mudah dengan melaksanakan SQL yang serupa
di mana id seperti '123%' had 5;
di mana id seperti '1234%' had 5;
di mana id suka '12345%' had 5;
di mana id suka '123456%' had 5;
Kelajuan pelaksanaan SQL di atas lebih perlahan pula. Kerana semakin panjang watak, semakin banyak masa mereka dibandingkan.
Tidak kira panjang jenis int, ia hanya membandingkan sekali