Varchar与char的区别
2010-02-15 13:51
169 查看
Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节
char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节
Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"
而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,
就是把它填满为100个字节)。
由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格
去掉!
本篇文章来源于 IT中国 转载请以链接形式注明出处 网址:http://www.it86.cc/develop/2008/0312/19957.shtml
还有一个问题你要注意
表中只要存在一个varchar类型的字段,那么所有的char字段都会自动变成varchar类型;
但是,长度在4以内的char类型不会转换成varchar,反而是长度在4以内的varchar类型会被转换成char类型。
也就是说,MySQL设计的时候,也已经考虑了速度和空间的问题,并且也建议不要让这两种定长和变长的类型同处一个表。这个是MySQL的特色,你可以自己做试验。
对于我们来说,该怎么用就怎么用,不必强求速度或者空间。Top
8 楼hzbigdog(苦命的程序员)回复于 2005-10-07 01:27:44 得分 0
char适合与保存短字符内容,比如说是 "YS","AD","OK","NO","DL",之类的标志控制符
用于检索方面的,但是前提是,必须是定长的字符才能够保证效率,
vchar适合保存容量较大的内容。不适合保存标志类信息,他的优势是节省存储空间。
为了提高效率吧vchar转传撑char没有什么意义
char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节
Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"
而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,
就是把它填满为100个字节)。
由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格
去掉!
本篇文章来源于 IT中国 转载请以链接形式注明出处 网址:http://www.it86.cc/develop/2008/0312/19957.shtml
还有一个问题你要注意
表中只要存在一个varchar类型的字段,那么所有的char字段都会自动变成varchar类型;
但是,长度在4以内的char类型不会转换成varchar,反而是长度在4以内的varchar类型会被转换成char类型。
也就是说,MySQL设计的时候,也已经考虑了速度和空间的问题,并且也建议不要让这两种定长和变长的类型同处一个表。这个是MySQL的特色,你可以自己做试验。
对于我们来说,该怎么用就怎么用,不必强求速度或者空间。Top
8 楼hzbigdog(苦命的程序员)回复于 2005-10-07 01:27:44 得分 0
char适合与保存短字符内容,比如说是 "YS","AD","OK","NO","DL",之类的标志控制符
用于检索方面的,但是前提是,必须是定长的字符才能够保证效率,
vchar适合保存容量较大的内容。不适合保存标志类信息,他的优势是节省存储空间。
为了提高效率吧vchar转传撑char没有什么意义
相关文章推荐
- char与varchar的区别
- [转]SQL:char、varchar、text和nchar、nvarchar、ntext的区别
- 数据库中char与varchar类型的区别
- nchar,char,varchar与nvarchar区别
- MySql中varchar(10)和varchar(100)的区别==>>以及char的利弊
- CHAR,VARCHAR,VARCHAR2类型的区别与使用
- SQL中char、varchar、nvarchar的区别
- 【MySQL之字段类型(一)】MySQL中char和varchar的区别,以及varchar最大长度是多少?
- mysql中char,varchar与text类型的区别和选用
- sql中char,varchar ,nvarchar 的区别
- 数据库中char和varchar的区别
- [毕业论文] 关于char 与 varchar 的区别
- char、varchar 、varchar2 的区别
- SQL中char、varchar、text和nchar、nvarchar、ntext的区别
- char、varchar、text和nchar、nvarchar、ntext的区别
- MySQL中char、varchar和text的区别
- char和varchar的一点小区别
- char varchar nchar nvarchar 四者的区别是什么
- char、varchar、text、ntext、bigint、int、smallint、tinyint和bit的区别及数据库的数据类型(转)