char和varchar的对比

char和varchar的对比:
类型 特点 空间 时间 场景
CHAR 长度固定 浪费存储空间 效率高 存储小,要求效率高
VARCHAR 长度可变 节省存储空间 效率低 存储长度变化大,无效率要求
CHAR类型:

一般需要预先定义字符长度,长度范围0<= M <= 255(字节),如果不指定,则表示长度默认是1个字符(可以是汉字,每个utf8汉字3个字节),保存的数据如果没有达到指定长度,则会在右侧填充空格,MYSQL检索CHAR类型数据时,字段尾部的空格会去除(自己添加在尾部的空格也是一样)。

VARCHAR类型:

必须指定长度,长度范围0<= M <= 65535(字节),存储空间为实际长度+1个字节,MYSQL5.0以上版本,varchar(20)指20字符,varchar(M)的长度为0 <= M <= 21845。

三种存储引擎的情况:

1、MYSQL5.0以后使用InnoDB存储引擎,建议使用VARCHER,所有数据行使用指向数据列值的头指针,而且主要影响性能的因素是数据行使用的存储总量。通过节省空间,对磁盘I/O和数据存储总量比较好。

2、MYSQL5.0以前使用MyISAM存储引擎,建议使用CHER,使整个表静态化,让数据库检索更快。

3、MEMORY存储引擎,数据表目前都使用固定长度的数据行存储,使用两种数据类型没有区别。

posted @ 2022-04-29 17:06  水木blog  阅读(84)  评论(0)    收藏  举报