萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql中char與varchar的區別

mysql中char與varchar的區別

在mysql中char與varchar的區別呢,都是用來存儲字符串的,只是他們的保存方式不一樣罷了,char有固定的長度,而varchar屬於可變長的字符類型。

mysql教程中char與varchar的區別呢,都是用來存儲字符串的,只是他們的保存方式不一樣罷了,char有固定的長度,而varchar屬於可變長的字符類型。

char與varchar的區別

char (13)長度固定, 如'www.111cn.net'  存儲需要空間 13個字符

varchar(13) 可變長 如'www.111cn.net'  需要存儲空間 14字符,

從上面可以看得出來char 長度是固定的,不管你存儲的數據是多少他都會都固定的長度。而varchar則處可變長度但他要在總長度上加1字符,這個用來存儲位置。所以實際應用中用戶可以根據自己的數據類型來做。

再看看char,與varchar在速度上的區別吧。

mysal>create tabe ab(v varchar(4),c char(4));

query ok ,0 rows affected(0.02 sec)

mysql>insert into abc values('ab ','ab  ')

query ok ,1 row affected(0.00 sec);

mysql->select concat(v ,'+') ,concat(c ,'+') form abc

ab +              | ab+

1rows in set (0.00 sec)

從上面可以看出來,由於某種原因char 固定長度,所以在處理速度上要比varchar快速很多,但是對費存儲空間,所以對存儲不大,但在速度上有要求的可以使用char類型,反之可以用varchar類型來實例。

注明:

在用char字符類型時內容後面有空間時必須作相關處理,要不就會把空格自動刪除。

建意:

myisam 存儲引擎 建議使用固定長度,數據列代替可變長度的數據列。

memory存儲引擎 目前都使用固定數據行存儲,因此無論使用char varchar列都沒關系,

innodb 存儲引擎 建意使用varchar 類型

好了本站原創教程轉載注明來源www.111cn.net/database/database.html

copyright © 萬盛學電腦網 all rights reserved