1. 经常变化的字段用char
2. 知道固定长度的用char
3. 尽量用varchar
4. 超过255字节的只能用varchar或者text
5. 能用varchar的地方不用text
VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定,最大有效长度是65,532字节
注:我测试了一下使用UTF8编码,varchar的最大长度为21854字节。
在mysql 5.0.45版本,数据库编码utf8下进行测试:varchar最长定义为21785。也就是说不论字母、数字、汉字,只能放21785个。
推想:varchar字节最大65535,utf8编码一个字符3个字节65535/3=21785。
MySQL数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来 定)。
在MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个 字节。
所以问了兼容在4.1或以下版本可以把5.0大的varchar改为使用text。当然如果不考虑兼容性使用varchar代替text有效的减少数据库 文件的大小
Varchar 的类型不以空格填满,比如varchar(100),但它的值只是”n”,则它的值就是”n”
而char 不一样,比如char(100),它的值是”n”,而实际上它在数据库中是”n “(n后共有99个空格,就是把它填满为100个字节)。
由于 char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!
char会造成空间浪费,但是有速度优势;而varchar节省了空间,但是速度就不如char。
分享到:
相关推荐
mysql向表中某字段后追加一段字符串: update table_name set field=CONCAT(field,'',str) mysql 向表中某字段前加字符串 update table_name set field=CONCAT('str',field) 这个函数对你也许会有很大帮助哦!!
输入2个中文字符串,计算2个字符串的相似度,用于相似度排序。
主要介绍了Mysql字符串字段判断是否包含某个字符串的2种方法,本文使用Like和find_in_set两种方法实现,需要的朋友可以参考下
BINARY 类似于CHAR类型,但保存二进制字节字符串而不是非二进制字符串 BIT 位字段类型,范围为从1到64,默认为1 BLOB 最大长度为65,535(216–1)字节的BLOB列 BOOL 是TINYINT(1)的同义词。zero值被视为假。非zero值视...
字符串(字符)类型。 数值类型 表的字段类型 MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。 ...
在使用mysql的过程中,有个问题就是mysql的优化,mysql中longblob字段在5.5版本中默认的为1M。 想改变这个问题,需要注意几点: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2054817 > ...
小编童鞋最近接了一个新需求,需要在MySql的字段中截取一段字符串中的特定字符,下面小编把我的核心代码分享给大家,对mysql 字符串截取相关知识感兴趣的朋友一起看看吧
mysql 字符集 转换
从字符串中查找字符出现次数的方法和性能对比
7、关键词支持字符串、日期、整形等等类型; 8、更多………… 使用如下命令即可查看使用帮助: sh search.sh sh search.sh -h sh search.sh --help 更多详细,可以参考发布的博文介绍和测试结果。
批量替换 MySQL 指定字段中的字符串是数据库应用中很常见的需求,但是有很多初学者在遇到这种需求时,通常都是用脚本来实现;其实,MySQL 内置的有批量替换语法,效率也会高很多;想了解具体方法,继续阅读本文吧 :)
分割字符串为数组需要用到 三个mysql 的函数 : REVERSE(str) 返回颠倒字符顺序的字符串str。 SUBSTRING_INDEX(str,delim,count) 返回从字符串str的第count个出现的分隔符delim之后的子串。如果count是正数,返回...
将ubk_vhost_list表中的字段userid中的字符...表的名字 field_name —— 字段名 from_str —— 需要替换的字符串 to_str —— 替换成的字符串 今天运行了一个查询 UPDATE ubk_vhost_list SET userid = replace (use
自己写的一个获取字符串字段中数字的函数,已测试通过可用。
函数: 1、从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my_content_t 2、从右开始截取字符串 right(str, length) 说明:right...
MySQL中concat函数 使用方法: CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。...MySQL的concat函数可以连接一个或者多个字符串,如 mysql> select concat(’1
二三级表插入,参数是一字符串。 缺点:插入二三级表时,必须知道每张表的字段个数。
最主要核心功能是把串口上接收到的数据,以字符串数据形式直接写入MySQL数据库中的数据表的某一个字符型字段中。当计算机的某个COM口有字符串数据进来时,自动触发事先设置好的字符串截取代码,处理后直接写入MySQL...