資料庫中char與varchar型別的區別
阿新 • • 發佈:2018-12-13
在建立資料庫表結構的時候,為了給一個String型別的資料定義一個數據庫的資料庫型別,一般參考的都是char或者varchar,這兩種選擇有時候讓人很糾結,今天想總結一下它們兩者的區別,明確一下兩者的區別。
首先明確的是,char的長度是不可變的,而varchar的長度是可變的,也就是說,定義一個char[10]和varchar[10],如果存進去的是‘csdn’,那麼char所佔的長度依然為10,除了字元‘csdn’外,後面跟六個空格,而varchar就立馬把長度變為4了,取資料的時候,char型別的要用trim()去掉多餘的空格,而varchar是不需要的。
儘管如此,char的存取數度還是要比varchar要快得多,因為其長度固定
再者,char的儲存方式是,對英文字元(ASCII)佔用1個位元組,對一個漢字佔用兩個位元組;而varchar的儲存方式是,對每個英文字元佔用2個位元組,漢字也佔用2個位元組。
兩者的儲存資料都非unicode的字元資料。