Mysql是以文件存储在我们的系统的硬盘上面,那么
(1)当我们读取写入的时候就会有磁盘IO的问题
(2)当我们存储的数据是以页单位存储,而且每页的大小是16K,那么我们要尽可能的让我们的一页数据存放的更多。表结构宽度不要太大,也就是列数不要过多,保存更可能多的行数,那么针对行数存储就会涉及到字段类型选择的问题
以下字节按照utf8来示例,一个中文占3个字节,一个数字和字母是一个字节,而且utf8是变长的,范围在1-6之间
(1)数字比字符串处理的速度要快
(2)当我们需要存储一个固定的长度的值(身份证,手机号)并且长度小于50个字节的时候,那么我们可以选用char(n)
(3)当我们要存储大于50个字节长度的值时候选用varchar(n)
(4)当我们存储时间的时候datatime>int>char>varchar,但是int是有时间范围限制的,只能存到2038年
(5)float和decimal的选择,当我们需要存储一个精度很高的值的时候,那么我们就要存decimal,float只能保存到小数点后7位
下面是类型占用的字节数
时间: 2024-10-23 15:07:27