今天遇到一個問題,就是dump出來的backup無法還原; 交給相關(guān)Team處理,得到的反饋是編碼集問題;新的db要求是utf8mb4編碼集;
- 簡單了解了一下,原來mysql utf8有兩種, utf8mb3(i.e.默認(rèn)的utf8) 以及 utf8mb4; utf8 是眾所周知的可變長unicode編碼, 最長編碼長度為4個字節(jié), 最短一個字節(jié)。 utf8mb3 只至多采用3個字節(jié), utf8mb4是至多采用4個字節(jié);
- 為什么存在縮水版的utf8 mb3 解釋似乎是perfermance 問題.. 這點很奇怪,utf本來就是變長編碼;一個字符,無論式utf8mb3 or utf8mb4 應(yīng)該碼都是一樣的。只是utf8 mb3 不能編碼一些4個字節(jié)的信息;
- MySql 8.0 以后的版本, 應(yīng)該兩者之間不存在性能差異;
- 我這個場景是 drop recreate table, 在創(chuàng)建時,指明了db的編碼utf8mb3, 搞不懂為何不行;