码迷,mamicode.com
首页 > 数据库 > 详细

数据库中char和varchar区别

时间:2017-10-16 19:40:00      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:情况   null   查找   表示   不用   text   空格   现象   arch   

区别:

1)char长度是固定,而varchar长度是可变的;

比如:‘abc‘对于char(10)表示存储字符将占10个字节(包括7个空字符),而同样varchar(10)只占3个自己长度,10只是表示最大值,当存储的字符小于最大值时,按实际存储;(varchar2是把所有字符都按占两个字节处理,不管汉字、字母还是数字;另外varchar存空,varchar2则存null)

2)char的效率比varchar略高

取数据时候,char类型要用trim()去掉多余的空格,而varchar不用,尽管如此,char存取数据还是比varchar略快,因为其长度固定,方便程序的存储和查找;但同时也付出了空间的代价(以空间换取效率),而varchar以空间效率为首位。

 

怎么选用char?varchar?

varchar比char节省空间,但效率稍差一些,即若想获得效率,就要牺牲一定的空间,这也就是我们在数据库设计上常说的:以空间换取效率;

varchar虽然比char节省空间,但是如果一个varchar列经常被修改,而且每次修改的长度都不同,这会引起行迁移“现象,从而造成多余的I/O,是数据库设计要尽量避免的,在这种情况下cha会相对varchar更好一些。

数据库中char和varchar区别

标签:情况   null   查找   表示   不用   text   空格   现象   arch   

原文地址:http://www.cnblogs.com/hongzm/p/7677987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!