首先要确定mysql版本,一般一个汉字2个字节,50即可存25个汉字。
4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能存16个(每个汉字3字节)。
5.0版本以上,varchar(50),指的是50字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个。最好是在自己数据库中建个表试试可以放多少汉字,现在mysql已经有5.0了,varchar(50)是可以存50个汉字的。
存储引擎
MyISAMMySQL 5.0 之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务。
InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定, MySQL 5.5 起成为默认数据库引擎。
BDB源 自 Berkeley DB,事务型数据库的另一种选择,支持Commit 和Rollback 等其他事务特性。
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在 MySQL 重新启动时丢失。
以上内容参考:百度百科-mySQL
在字符集为 UTF-8 的情况下:MySQL | version < 4.1 : VARCHAR以字节为单位存储,假设全部为常用汉字,则VARCHAR(255)共可存放约85个汉字。MySQL | version >= 4.1 : VARCHAR以字符为单位存储,假设全部为常用汉字,则VARCHAR(255)可以存放255个汉字。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)