utf8mb4是4個位元組,utf8是3個位元組,utf8mb4兼容性更好,占用空間更大,
主要從排序準確性和性能兩方面看:
- 準確性
utf8mb4_unicode_ci是基于標準的Unicode來排序和比較,能夠在各種語言之間精確排序utf8mb4_general_ci沒有實作Unicode排序規則,在遇到某些特殊語言或字符是,排序結果可能不是所期望的, - 性能
utf8mb4_general_ci在比較和排序的時候更快utf8mb4_unicode_ci在特殊情況下,Unicode排序規則為了能夠處理特殊字符的情況,實作了略微復雜的排序演算法,
但是在絕大多數情況下,不會發生此類復雜比較,general理論上比Unicode可能快些,但相比現在的CPU來說,它遠遠不足以成為考慮性能的因素,索引涉及、SQL設計才是, 我個人推薦是utf8mb4_unicode_ci,將來 8.0 里也極有可能使用變為默認的規則,相比選擇哪一種collation,使用者應該更關心字符集與排序規則在db里要統一就好,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/40035.html
標籤:MySQL
