数据库中char和varchar的区别

1. char类型的长度是固定的,varchar的长度是可变的。

   这就表示,存储字符串'abc',使用char(10),表示存储的字符将占10个字节(包括7个空字符)

              使用varchar2(10),,则表示只占3个字节,10是最大值,当存储的字符小于10时,按照实际的长度存储。

2.char类型的效率比varchar的效率稍高

3.varchar 与 varchar2的区别

varchar2是oracle开发的一个数据类型。

工业标准的varchar可以存储空字符串,oracle的varchar2还可以存储NULL值,如果想要有向后兼容的能力建议使用varchar2

4.varchar2比char节省空间,但是在效率上比char稍差些。既要获得效率即必须牺牲一点空间,这就是设计上的"以空间换时间"

varchar2虽然比char节省空间,但是一个varchar2列经常被修改,而且每次修改的数据长度不同,这会引起“行迁移的现象”,

而这造成的多余的I/O,是数据库设计中尽量避免的,在这种情况下使用char代替varchar2会更好些。

总结:1. 如果一个字段经常被修改,而且每次修改的数据长度不同,为了效率应当考虑用char定长代替varchar2变长。(列如一个用户的名字经常被修改)

      2. 设计的时候尽量考虑  用空间换时间。

posted @ 2018-04-02 11:25  潸然  阅读(35332)  评论(0编辑  收藏  举报