char 长度是固定的,varchar长度可变的,char 不足长度会用空字符补足,而varchar则是存储的实际长度
varchar比较节省空间,但是执行效率不如char,但是一个varchar如果经常被改动会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。
贴上大牛回答,哈哈,写的挺不错,基础扎实。
char 长度是固定的,varchar长度可变的,char 不足长度会用空字符补足,而varchar则是存储的实际长度
varchar比较节省空间,但是执行效率不如char,但是一个varchar如果经常被改动会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。
贴上大牛回答,哈哈,写的挺不错,基础扎实。