位置:首頁 > 軟件操作教程 > 辦公軟件 > Word > 問題詳情

字符(串)類型..

提問人:周麗平發(fā)布時間:2021-05-26

不要以為字符類型就是 CHAR !CHAR和VARCHAR的區(qū)別在于CHAR是固定長度,只要你定義一個字段是CHAR(10),那么不論你存儲的數(shù)據(jù)是否達(dá)到了10個字節(jié),它都要占去10個字節(jié)的空間;而VARVHAR則是可變長度的,如果一個字段可能的值是不固定長度的,我們只知道它不可能超過10個字符,把它定義為 VARCHAR(10)是最合算的,VARCHAR 類型的實(shí)際長度是它的值的(實(shí)際長度+1)。為什么“+1”呢?這一個字節(jié)用于保存實(shí)際使用了多大的長度呀!從這個“+1”中也應(yīng)該看到,如果一個字段,它的可能值最長是10個字符,而多數(shù)情況下也就是用到了10個字符時,用VARCHAR就不合算了:因?yàn)樵诙鄶?shù)情況下,實(shí)際占用空間是11個字節(jié),比用CHAR(10)還多占用一個字節(jié)!

舉個例子,就是一個存儲股票名稱和代碼的表,股票名稱絕大部分是四個字的,即8個字節(jié);股票代碼,上海的是六位數(shù)字,深圳的是四位數(shù)字。這些都是固定長度的,股票名稱當(dāng)然要用 CHAR(8) ;股票代碼雖然是不固定長度,但如果使用VARVHAR(6),一個深圳的股票代碼實(shí)際占用空間是5個字節(jié),而一個上海的股票代碼要占用7個字節(jié)!考慮到上海的股票數(shù)目比深圳的多,那么用VARCHAR(6)就不如CHAR(6)合算了。

雖然一個CHAR或VARVHAR的最大長度可以到255,我認(rèn)為大于20的CHAR是幾乎用不到的——很少有大于20個字節(jié)長度的固定長度的東東吧?不是固定長度的就用VARCHAR!大于100的VARCHAR也是幾乎用不到的——比這更大的用TEXT就好了。TINYTEXT,最大長度為255,占用空間也是(實(shí)際長度+1);TEXT,最大長度65535,占用空間是(實(shí)際長度+2);MEDIUMTEXT,最大長度16777215,占用空間是(實(shí)際長度+3);LONGTEXT,最大長度4294967295,占用空間是(實(shí)際長度+4)。為什么“+1”?“+2”?“+3”?“+4”?你要是還不知道就該打PP了。這些可以用在論壇啊、新聞啊,什么的,用來保存文章的正文。根據(jù)實(shí)際情況的不同,選擇從小到大的不同類型。

繼續(xù)查找其他問題的答案?

回復(fù)(0)
返回頂部