MySQL数据类型-字符类型
2016-12-05 13:26
260 查看
MySQL字符类型包括:char、varchar、blob、text。
char:固定长度,适合于长度固定的列,如果存储的数据长度小于定义的长度,则少的一部分会以空格填充,如char(10),其中10代表的是字符个数,加入存储的数据是8个字符,那么剩余的两个将以2个空格来向末尾填充。适合存储数据长度固定的字符。
varchar:用于存储可变长的字符。对于那些存储长度不固定的比较合适,比char更节省空间。另外,除了存储数据本身外,varchar还要多存储1-2个字节,多余出来的1-2个字节用于存储数据部分的长度。如果列的长度小于255哥字节,那么用一个字节存储额外的部分,大于255个字节则用2个自己。另外,由于varchar石可变长的,在update时,行可能变得更长,假如在页内没有多余的空间来存储更新的部分,那么就要分裂页来存储更新的部分,那么就会造成碎片,这将影响性能。适用于更新少的列。
所以,对于长度固定的列,选用char,更节省空间,并且更新不回造成碎片。而对于可变长,并且更新不频繁的列,选择varchar更合适。
char:固定长度,适合于长度固定的列,如果存储的数据长度小于定义的长度,则少的一部分会以空格填充,如char(10),其中10代表的是字符个数,加入存储的数据是8个字符,那么剩余的两个将以2个空格来向末尾填充。适合存储数据长度固定的字符。
varchar:用于存储可变长的字符。对于那些存储长度不固定的比较合适,比char更节省空间。另外,除了存储数据本身外,varchar还要多存储1-2个字节,多余出来的1-2个字节用于存储数据部分的长度。如果列的长度小于255哥字节,那么用一个字节存储额外的部分,大于255个字节则用2个自己。另外,由于varchar石可变长的,在update时,行可能变得更长,假如在页内没有多余的空间来存储更新的部分,那么就要分裂页来存储更新的部分,那么就会造成碎片,这将影响性能。适用于更新少的列。
所以,对于长度固定的列,选用char,更节省空间,并且更新不回造成碎片。而对于可变长,并且更新不频繁的列,选择varchar更合适。
相关文章推荐
- MySql数据类型分析(字符类型) Part4
- MySQL数据类型char与varchar中数字代表的究竟是字节数还是字符数?
- MySql中的字符数据类型
- 跟王老师学MySQL:MySQL数据类型之字符类型
- MySQL学习----MySQL数据类型----02MySQL 字符类型
- mysql中数字类型、日期和时间类型以及字符串(字符)类型及大数据在hibernate中的配置
- MySQL数据类型char与varchar中数字代表的究竟是字节数还是字符数?
- MySQL查询中使用Concat关键字来拼接中文字符乱码(不同的数据类型拼接)解决方式
- mysql 开发基础系列4 字符数据类型
- MySql的VARCHAR数据类型存放多少字符详解
- MySql数据类型分析(字符类型) Part4
- 【MySQL数据类型3之--字符类型】
- MySQL中 数据类型代表字符个数
- Java 数据类型之字符串
- MySQL查询优化--数据类型与效率
- MySQL 的数据类型和建库策略
- MySQL5.0的三种数据类型:DATETIME, DATE和TIMESTAMP的使用
- mysql的数据类型
- MySQL 的数据类型和建库策略
- MySQL 数据类型