天道酬勤,唯爱学可成才

mysql的CHAR与VARCHAR的区别

char:固定长度的串,在右边补齐空格,达到指定的长度。检索值时,后缀的空格被删除;  
varchar:可变长度的串,其中的后缀空格在存储值时被删除。
char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定 的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。

  表中只要存在一个varchar类型的字段,那么所有的char字段都会自动变成varchar类型;  
  但是,长度在4以内的char类型不会转换成varchar,反而是长度在4以内的varchar类型会被转换成char类型。  
  也就是说,MySQL设计的时候,也已经考虑了速度和空间的问题,并且也建议不要让这两种定长和变长的类型同处一个表。这个是MySQL的特色,你可以自己做试验。  
  对于我们来说,该怎么用就怎么用,不必强求速度或者空间。

char适合与保存短字符内容,比如说是   "YS","AD","OK","NO","DL",之类的标志控制符  
用于检索方面的,但是前提是,必须是定长的字符才能够保证效率,  
  vchar适合保存容量较大的内容。不适合保存标志类信息,他的优势是节省存储空间。  
  为了提高效率吧vchar转传撑char没有什么意义.

【冲冠】1200万像素数码相机 超薄超迷你 当摄像头 有声摄像 全能
200 

Tags: mysql, char, varchar

« 上一篇 | 下一篇 »

只显示10条记录相关文章

mysql替换数据库中的部分内容 (浏览: 1487, 评论: 0)
优化MySQL插入的五种方法 (浏览: 1195, 评论: 0)
一个MySQL操作类 (浏览: 1668, 评论: 0)
高效的MySQL分页 (浏览: 2168, 评论: 0)
mysql服务器的一些优化记录 (浏览: 1187, 评论: 0)
关于ubuntu 9.0.4下mysql.sock问题 (浏览: 1915, 评论: 0)
freebsd7下使用PORTS安装mysql (浏览: 2165, 评论: 0)
为你的MySQL数据库加铸23道安全门 (浏览: 1175, 评论: 0)
MySQL常用命令一览 (浏览: 1101, 评论: 0)
MySQL攻击方法 (浏览: 1277, 评论: 0)

Trackbacks

点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5

发表评论

评论内容 (必填):