关于varchar和char的区别,转贴的,忘记出处了.
还有一个问题你要注意
表中只要存在一个varchar类型的字段,那么所有的char字段都会自动变成varchar类型;
但是,长度在4以内的char类型不会转换成varchar,反而是长度在4以内的varchar类型会被转换成char类型。
也就是说,MySQL设计的时候,也已经考虑了速度和空间的问题,并且也建议不要让这两种定长和变长的类型同处一个表。这个是MySQL的特色,你可以自己做试验。
对于我们来说,该怎么用就怎么用,不必强求速度或者空间。Top
8 楼hzbigdog(苦命的程序员)回复于 2005-10-07 01:27:44 得分 0
char适合与保存短字符内容,比如说是 "YS","AD","OK","NO","DL",之类的标志控制符
用于检索方面的,但是前提是,必须是定长的字符才能够保证效率,
vchar适合保存容量较大的内容。不适合保存标志类信息,他的优势是节省存储空间。
为了提高效率吧vchar转传撑char没有什么意义
表中只要存在一个varchar类型的字段,那么所有的char字段都会自动变成varchar类型;
但是,长度在4以内的char类型不会转换成varchar,反而是长度在4以内的varchar类型会被转换成char类型。
也就是说,MySQL设计的时候,也已经考虑了速度和空间的问题,并且也建议不要让这两种定长和变长的类型同处一个表。这个是MySQL的特色,你可以自己做试验。
对于我们来说,该怎么用就怎么用,不必强求速度或者空间。Top
8 楼hzbigdog(苦命的程序员)回复于 2005-10-07 01:27:44 得分 0
char适合与保存短字符内容,比如说是 "YS","AD","OK","NO","DL",之类的标志控制符
用于检索方面的,但是前提是,必须是定长的字符才能够保证效率,
vchar适合保存容量较大的内容。不适合保存标志类信息,他的优势是节省存储空间。
为了提高效率吧vchar转传撑char没有什么意义
浙公网安备 33010602011771号