MySQL数据库中的字段类型varchar和char的主要区别是什么?那种字段的查找效率要高,

如题所述

CHAR 0-255字节 定长字符串
VARCHAR 0-255字节 变长字符串

CHAR 类型用于定长字符串,并且必须在圆括号内用一个大小修饰符来定义。这个大小修饰符的范围从 0-255。比指定长度大的值将被截短,而比指定长度小的值将会用空格作填补。

CHAR 类型的一个变体是 VARCHAR 类型。它是一种可变长度的字符串类型,并且也必须带有一个范围在 0-255 之间的指示器。

CHAR 和 VARCHGAR 不同之处在于 MYSQL 数据库处理这个指示器的方式:CHAR 把这个大小视为值的大小,不长度不足的情况下就用空格补足。而 VARCHAR 类型把它视为最大值并且只使用存储字符串实际需要的长度(增加一个额外字节来存储字符串本身的长度)来存储值。所以短于指示器长度的 VARCHAR 类型不会被空格填补,但长于指示器的值仍然会被截短。

当我们在建表时尽量使用char,这样可以节省存储空间,也有利于快速搜索!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-09-08
char的长度是固定的,最长2000个字符。
varchar是最大长度为2000的可变字符串

char比varchar效率高本回答被网友采纳