mysql字符串字段类型_MySQL字符串字段类型选择的一般规则
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。
分享到:
2012-08-25 21:41
浏览 1373
分类:数据库
评论
mysql字符串字段类型_MySQL字符串字段类型选择的一般规则相关推荐
- mysql sql字符串连接函数_Mysql字符串连接函数 CONCAT()与 CONCAT_WS()
从数据库里取N个字段,然后组合到一起用","分割显示,起初想到用CONCAT()来处理,好是麻烦,没想到在手册里居然有提到 CONCAT_WS(),非常好用. CONCAT_WS( ...
- mysql 常用的列类型_MySQL 常用列类型
日期和时间类型为DATETIME.DATE.TIMESTAMP.TIME和YEAR. 注意:在MySQL中,日期时间值使用单引号引起来. 相当于Java中Date,Calender. 最常用的整数类型 ...
- mysql数据库数字类型_Mysql 数据库数值类型详解
MySQL 支持所有标准SQL 中的数值类型,其中包括严格数值类型(INTEGER.SMALLINT.DECIMAL 和NUMERIC),以及近似数值数据类型(FLOAT.REAL 和DOUBLE P ...
- mysql中字符串拼接函数_MySQL 字符串连接CONCAT()函数
MySQL字符串连接函数 使用方法: CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制字符 ...
- mysql数据库blob换行_mysql数据库blob类型
Java -- JDBC 学习--处理Blob Oracle LOB LOB,即Large Objects(大对象),是用来存储大量的二进制和文本数据的一种数据类型(一个LOB字段可存储可多达4GB的 ...
- mysql float 精度阶段_mysql下float类型使用一些误差详解
单精度浮点数用4字节(32bit)表示浮点数 采用IEEE754标准的计算机浮点数,在内部是用二进制表示的 如:7.22用32位二进制是表示不下的. 所以就不精确了. mysql中float数据类型的 ...
- mysql数据库表中的类型_MySQL数据库中表类型MyISAM与InnoDB的区别
MyISAM 和 InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处 ...
- mysql 正无穷字符_mysql 字符串函数收集比较全
ASCII(str)返回字符串str的 最左面字符的ASCII代码值.如果str是空字符串, 返回0.如果str是NULL,返回NULL. mysql> select ASCII('2'); - ...
- mysql 字符串 截取字母_MySQL字符串函数:字符串截取
MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...
- mysql 字符串函数大全_mysql 字符串函数大全
返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL.mysql> select ASCII('2'); -> 50mysql& ...
最新文章
- java 内部类 引用_在Java中如何从内部引用匿名内部类?
- 怎么用git将本地代码上传到远程服务器_TortoiseGit将本地git仓库上传到远程git服务器方法...
- 网工路由基础(6)BGP协议
- oracle asm 日志,Oracle+RAC+ASM数据库ora-00257日志归档器错误解决方法
- 服务器维护:FTP无法连接
- 阿里云资深技术专家李克畅谈边缘云计算趋势与实践
- 立足优势,你的网站会更精彩
- ZZULIOJ 1121: 电梯
- 小白学深度之LSTM长短期记忆神经网络——深度AI科普团队
- Emgu-WPF学习使用-阈值化
- Kaggle 商品销量预测季军方案出炉,应对时间序列问题有何妙招
- 设置Listview行高--小技巧
- Win32屏幕保护程序
- RStudio 使用ARM版Ruby mac M1 编译安装适用及x86Ruby安装使用 安装ARM版homebrew
- 附加和分离SQL数据库
- Contrastive learning的学习
- 2019 icpc南昌邀请赛 G Winner
- VMware界面大小调整两种方法超详细教程
- Linux 4.19.111 供电(power supply )子系统
- 金属有机骨架MOFs装载抗病毒药物|ZIF-8/石墨烯复合纳米颗粒(ZIF-8/GQDs)负载阿霉素(DOX)齐岳
热门文章
- ng-repeat part1 - how UI is rendered from {{name}} to actual value
- 使用SAP Cloud Platform Leonardo机器学习提取图片的特征向量
- 如何在Marketing Cloud里创建extension field扩展字段
- unicode转中文的工具
- 如何自己找出SMBDA服务使用的端口号
- Application log debug - storage
- BusinessPartner Relationship in WebUI and Fiori
- Use BAdI - call_workitem_exit workflow
- 使用ST03N查看指定user的transaction 性能数据
- 走进rxjs的世界 - 万物皆流 - Everything is a stream