mysql汉字占几个字符_mysql和oracle的一个汉字占几个字符
以前一直使用oracle11g,一個漢字占3個字節(jié),所以在操作mysql時也一直這樣分配長度。
今天測試了下發(fā)現(xiàn)不對了
可以看到第一個的長度確實是15,但是第二個為什么是5?
在網(wǎng)上找到資料:char_length計算的是字符長度,而length計算的是字節(jié)長度,剛好我使用的是utf8,一個漢字占3個字節(jié),占一個字符。
那好了,應該是對的上了,可是好奇心我就試了下
為什么這是相同的?因為這不是漢字
好了,現(xiàn)在知道原來mysql和oracle一樣的,但是又看到一篇說mysql的varchar與oracle的varchar2是不一樣的,前者是用字符做單位的,后者是用字節(jié)做單位的。對于oracle11g的varchar2是用字節(jié)做單位的在以前玩oracle時測試過,但是mysql就沒有測試過,好吧現(xiàn)在測試下。我先將字段長度改小看下能不能給容下,測試結(jié)果確實是可以的,證明mysql的varchar是用字符做單位的,這里就不貼圖了,大家可以自己驗證下。
總結(jié):oracle?中varchar2(10)??既10個字節(jié)3個漢字
mysql??中varchar(10)?既10個字符10個漢字
所以現(xiàn)在可以將mysql的varchar字段減小1/3了,性能也能提高哦。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的mysql汉字占几个字符_mysql和oracle的一个汉字占几个字符的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑怎么音响没声音怎么回事啊 电脑没有声
- 下一篇: linux cmake编译源码,linu