char(n)是定長格式,格式為char(n)的字段固定占用n個字符寬度,如果實際存放的數據長度超過n將被截取多出部分,如果長度小於n就用空字符填充。
varchar(n)是變長格式,這種格式的字段根據實際數據長度分配空間,不浪費對於的空間,但是搜索數據的速度會麻煩一點。
一般地說,只要一個表有一個字段定義為varchar(n)類型,那麼其余用char(n)定義的字段實際上也是varchar(n)類型。
如果你的長度本身不長,比如就3~10個字符,那麼使用char(n)格式效率比較高,搜索速度快。但是如果有的數據很長,有的數據有比較短,比如注冊用戶的簡介這樣的字段,實在沒有辦法,而且很在乎浪費的空間,那麼就用varchar(n)格式。