char和varchar的区别

转载自百度回答——靠名真tm难起

    1.首先要明确的区别是,char的长度是不可变的,而varchar的长度是可变的。举例子,比如我们定义了一个char[10]和一个varchar[10],如果我们存进去的是'abcd'则char所占的长度依旧是10,后面的6位为空格;而varchar尽管我们定义的是是,但是此时的长度变为了4。在我们取数据的时候,char我们需要用trim()去掉多余的空格,而varchar不需要。

    2.char的存取速度比varchar的速度要快上许多。原因在于两者的区别。由于char的长度固定,程序对char的存储和查找都十分方便快捷;但是char也付出了空间的代价。因为长度固定,难免会有冗余的空格占据空间。所以char是以空间换时间,而varchar是以空间效率为首位的。

    3.char的存取方式和varchar不同。对于英文字符(ASCII)来说,以char类型存储时占据1个字节,而对于varchar类型占据2个字节。对于汉字来说,char类型和varchar类型都占据两个字节。两者存储的数据都为unicode字符数据。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容