1,首先明確的是,char的長度是不可變的,而varchar的長度是可變的;
2,定義乙個char[10]和varchar[10],如果存進去的dao是『abcd』,那麼char所佔的長度依然為10,除了字元『abcd』外,後面跟六個空格,而varchar就立馬把長度變為4了,取資料的時候,char型別的要用trim()去掉多餘的空格,而varchar是不需要的,
3,char的訪問數度還是要比varchar要快得多,因為其長度固定,方便程式的儲存與查詢;但是char也為此付出的是空間的代價,因為其長度固定,所以難免會有多餘的空格佔位符佔據空間,可謂是以空間換取時間效率,而varchar是以空間效率為首位的。
4,char的儲存方式是,對英文本元(ascii)占用1個位元組,對乙個漢字占用兩個位元組;而varchar的儲存方式是,對每個英文本元占用2個位元組,漢字也占用2個位元組,兩者的儲存資料都非unicode的字元資料。
char 1 和varchar 1 的區別
區別就是char是定長,varchar是變長。xman 78tom varchar 1 相對 char 1 不但沒有優勢,還會拖累效能。在儲存上,varchar 型別需要 2 個位元組的額外空間來跟蹤儲存字串的長度,這樣 varchar 1 實際占用的是 3 個位元組。因此,varchar 1 要比...
char和varchar2 varchar的區別
char和varchar2 varchar的區別 1 char是長度固定的型別,varchar2是動態變化的,譬如 存在字串 abcde 對於乙個大小為char 20 而言,它將儲存20個字元,但是有15個是空字元,而varchar 20 則是占用3個位元組的長度,20只是能儲存的最大值。2 cha...
char和varchar的區別
char char是定長的,也就是當你輸入的字元小於你指定的數目時,char 8 你輸入的字元小於8時,它會再後面補空值。當你輸入的字元大於指定的數時,它會擷取超出的字元。nvarchar n 包含 n 個字元的可變長度 unicode 字元資料。n 的值必須介於 1 與 4,000 之間。位元組的...