mysql 字段类型设计_Mysql字段类型设计相关问题!

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

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

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

426449f23cf03df4fb0cbcf7e2e13223.png

以下字节按照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位

008b139054ad4b1273c6cc3d537ba06a.png

下面是类型占用的字节数

3a3b39c488a7f247dca4ead37fa0eb34.png

1237cc9c387282b6015dacb9b728322c.png

e7b3ee5ea4d058b9a5f2f22395e97c1b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值