utf8mb4是4個字節。utf8是3個字節。utf8mb4兼容性更好,佔用空間更大。算法
主要從排序準確性和性能兩方面看:性能
utf8mb4_unicode_ci
是基於標準的Unicode來排序和比較,可以在各類語言之間精確排序utf8mb4_general_ci
沒有實現Unicode排序規則,在遇到某些特殊語言或字符是,排序結果可能不是所指望的。utf8mb4_general_ci
在比較和排序的時候更快utf8mb4_unicode_ci
在特殊狀況下,Unicode排序規則爲了可以處理特殊字符的狀況,實現了略微複雜的排序算法。utf8mb4_unicode_ci
,未來 8.0 裏也極有可能使用變爲默認的規則。相比選擇哪種collation,使用者應該更關心字符集與排序規則在db裏要統一就好。