Mysql列类型与存储空间

  

Mysql是以文件存储在我们的系统的硬盘上面,那么

(1)当我们读取写入的时候就会有磁盘IO的问题

(2)当我们存储的数据是以页单位存储,而且每页的大小是16 k,那么我们要尽可能的让我们的一页数据存放的更多。表结构宽度不要太大,也就是列数不要过多,保存更可能多的行数,那么针对行数存储就会涉及到字段类型选择的问题

以下字节按照utf8来示例,一个中文占3个字节,一个数字和字母是一个字节,而且utf8是变长的,范围在1 - 6之间

(1)数字比字符串处理的速度要快

(2)当我们需要存储一个固定的长度的值(×××,手机号)并且长度小于50个字节的时候,那么我们可以选用char (n)

(3)当我们要存储大于50个字节长度的值时候选用varchar (n)

(4)当我们存储时间的时候datatime> int> char> varchar,但是int是有时间范围限制的,只能存到2038年

(5)和浮动小数点的选择,当我们需要存储一个精度很高的值的时候,那么我们就要存小数,浮动只能保存到小数点后7位

下面是类型占用的字节数

 Mysql列类型与存储空间

  

Mysql列类型与存储空间