Terdapat terlalu banyak jadual hanya nama panggilan dan ulasan ditetapkan kepada utf8mb4
config, tag, penghala, dll. Tidak menggunakan utf8mb4 sama sekali. pengindeksan dan rekod log?
Adakah cara ini lebih pantas daripada utf8mb4 tulen? Adakah ia stabil?
Adakah anda perlu mengubah suai sebarang konfigurasi dalam konfigurasi mysqld dan mengoptimumkan utf8mb4
Tidak banyak kelebihan
Sebab utf8mb4 hanya menggunakan 4 bait untuk menyimpan aksara khas seperti emoji
Selebihnya, prestasinya sama seperti set aksara utf8 mysql masih 3 bait
(Oleh kerana pelaksanaan panjang maksimum satu aksara dalam set aksara MySQL utf8 adalah salah, jadi set aksara utf8mb4 keluar. Sebenarnya, utf8mb4 ini adalah utf8 standard)
Sudah tentu, anda perlu mengelak daripada menggunakan char dan sebaliknya menggunakan varchar, kerana jenis lajur char mysql berada di bawah utf8mb4 Untuk memastikan semua data disimpan, char akan menduduki bilangan bait * 4 aksara (lajur char. jenis mysql utf8 akan menduduki bilangan bait (bilangan aksara * 3) untuk memastikan peruntukan ruang yang mencukupi Oleh itu, adalah disyorkan untuk menggunakan varchar panjang berubah untuk menjimatkan ruang diperlukan untuk storan sebenar + 1 atau Panjang yang dinyatakan dalam 2 bait.
Selain itu, untuk lajur aksara Inggeris tulen, anda juga boleh mempertimbangkan lajur varbinari (perduaan panjang pembolehubah) dan perduaan (sesuai untuk aksara Inggeris panjang tetap, seperti cincang kata laluan, prestasinya lebih baik sedikit daripada varchar, kerana ini disimpan). data binari