mysql字符串字段类型_MySQL字符串字段类型选择的一般规则
1.???????經(jīng)常變化的字段用char
2.???????知道固定長度的用char
3.???????盡量用varchar
4.???????超過255字節(jié)的只能用varchar或者text
5.???????能用varchar的地方不用text
VARCHAR的最大實(shí)際長度由最長的行的大小和使用的字符集確定,最大有效長度是65,532字節(jié)
注:我測(cè)試了一下使用UTF8編碼,varchar的最大長度為21854字節(jié)。
在mysql 5.0.45版本,數(shù)據(jù)庫編碼utf8下進(jìn)行測(cè)試:varchar最長定義為21785。也就是說不論字母、數(shù)字、漢字,只能放21785個(gè)。
推想:varchar字節(jié)最大65535,utf8編碼一個(gè)字符3個(gè)字節(jié)65535/3=21785。
MySQL數(shù)據(jù)庫的varchar類型在4.1以下的版本中的最大長度限制為255,其數(shù)據(jù)范圍可以是0~255或1~255(根據(jù)不同版本數(shù)據(jù)庫來 定)。
在MySQL5.0以上的版本中,varchar數(shù)據(jù)類型的長度支持到了65535,也就是說可以存放65532個(gè)字節(jié)的數(shù)據(jù),起始位和結(jié)束位占去了3個(gè) 字節(jié)。
所以問了兼容在4.1或以下版本可以把5.0大的varchar改為使用text。當(dāng)然如果不考慮兼容性使用varchar代替text有效的減少數(shù)據(jù)庫 文件的大小
Varchar 的類型不以空格填滿,比如varchar(100),但它的值只是”n”,則它的值就是”n”
而char 不一樣,比如char(100),它的值是”n”,而實(shí)際上它在數(shù)據(jù)庫中是”n “(n后共有99個(gè)空格,就是把它填滿為100個(gè)字節(jié))。
由于 char是以固定長度的,所以它的速度會(huì)比varchar快得多!但程序處理起來要麻煩一點(diǎn),要用trim之類的函數(shù)把兩邊的空格去掉!
char會(huì)造成空間浪費(fèi),但是有速度優(yōu)勢(shì);而varchar節(jié)省了空間,但是速度就不如char。
分享到:
2012-08-25 21:41
瀏覽 1373
分類:數(shù)據(jù)庫
評(píng)論
總結(jié)
以上是生活随笔為你收集整理的mysql字符串字段类型_MySQL字符串字段类型选择的一般规则的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天骄2 mysql错误_凤舞天骄一键版和
- 下一篇: oneuijs/You-Dont-Nee